Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bcb5febb248f7cc1e4a39ff61507f6343ba1c594
Commit:     bcb5febb248f7cc1e4a39ff61507f6343ba1c594
Parent:     2b0460b534f383eca744eb8fff66ec9f57e702b9
Author:     Ingo Molnar <[EMAIL PROTECTED]>
AuthorDate: Tue Oct 16 20:44:59 2007 -0400
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Tue Oct 16 20:44:59 2007 -0400

    forcedeth: fix NAPI rx poll function
    
    fix the forcedeth NAPI poll function to not emit this warning:
    
    [  186.635916] WARNING: at net/core/dev.c:2166 net_rx_action()
    [  186.641351]  [<c060d9f5>] net_rx_action+0x145/0x1b0
    [  186.646191]  [<c011d752>] __do_softirq+0x42/0x90
    [  186.650784]  [<c011d7c6>] do_softirq+0x26/0x30
    [  186.655202]  [<c011db48>] local_bh_enable+0x48/0xa0
    [  186.660055]  [<c06023e0>] lock_sock_nested+0xa0/0xc0
    [  186.664995]  [<c065da16>] tcp_recvmsg+0x16/0xbc0
    [  186.669588]  [<c013e94b>] __generic_file_aio_write_nolock+0x27b/0x520
    [  186.676001]  [<c0601d75>] sock_common_recvmsg+0x45/0x70
    [  186.681202]  [<c05ff5df>] sock_aio_read+0x11f/0x140
    [  186.686054]  [<c015c086>] do_sync_read+0xc6/0x110
    [  186.690735]  [<c012b9b0>] autoremove_wake_function+0x0/0x40
    [  186.696280]  [<c060dcfc>] net_tx_action+0x3c/0xe0
    [  186.700961]  [<c015c9c2>] vfs_read+0x132/0x140
    [  186.705378]  [<c015cd41>] sys_read+0x41/0x70
    [  186.709625]  [<c0102b66>] sysenter_past_esp+0x5f/0x89
    [  186.714651]  =======================
    
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/forcedeth.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index dae30b7..2e70815 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -2268,13 +2268,13 @@ static int nv_rx_process(struct net_device *dev, int 
limit)
 {
        struct fe_priv *np = netdev_priv(dev);
        u32 flags;
-       u32 rx_processed_cnt = 0;
+       int rx_work = 0;
        struct sk_buff *skb;
        int len;
 
        while((np->get_rx.orig != np->put_rx.orig) &&
              !((flags = le32_to_cpu(np->get_rx.orig->flaglen)) & NV_RX_AVAIL) 
&&
-               (rx_processed_cnt++ < limit)) {
+               (rx_work < limit)) {
 
                dprintk(KERN_DEBUG "%s: nv_rx_process: flags 0x%x.\n",
                                        dev->name, flags);
@@ -2396,9 +2396,11 @@ next_pkt:
                        np->get_rx.orig = np->first_rx.orig;
                if (unlikely(np->get_rx_ctx++ == np->last_rx_ctx))
                        np->get_rx_ctx = np->first_rx_ctx;
+
+               rx_work++;
        }
 
-       return rx_processed_cnt;
+       return rx_work;
 }
 
 static int nv_rx_process_optimized(struct net_device *dev, int limit)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to