This is a note to let you know that I've just added the patch titled

    netxen: fix netxen_nic_poll() logic

to the 3.10-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     netxen-fix-netxen_nic_poll-logic.patch
and it can be found in the queue-3.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From foo@baz Thu Feb 12 09:26:20 HKT 2015
From: Eric Dumazet <eduma...@google.com>
Date: Thu, 22 Jan 2015 07:56:18 -0800
Subject: netxen: fix netxen_nic_poll() logic

From: Eric Dumazet <eduma...@google.com>

[ Upstream commit 6088beef3f7517717bd21d90b379714dd0837079 ]

NAPI poll logic now enforces that a poller returns exactly the budget
when it wants to be called again.

If a driver limits TX completion, it has to return budget as well when
the limit is hit, not the number of received packets.

Reported-and-tested-by: Mike Galbraith <umgwanakikb...@gmail.com>
Signed-off-by: Eric Dumazet <eduma...@google.com>
Fixes: d75b1ade567f ("net: less interrupt masking in NAPI")
Cc: Manish Chopra <manish.cho...@qlogic.com>
Acked-by: Manish Chopra <manish.cho...@qlogic.com>
Signed-off-by: David S. Miller <da...@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
+++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c
@@ -2315,7 +2315,10 @@ static int netxen_nic_poll(struct napi_s
 
        work_done = netxen_process_rcv_ring(sds_ring, budget);
 
-       if ((work_done < budget) && tx_complete) {
+       if (!tx_complete)
+               work_done = budget;
+
+       if (work_done < budget) {
                napi_complete(&sds_ring->napi);
                if (test_bit(__NX_DEV_UP, &adapter->state))
                        netxen_nic_enable_int(sds_ring);


Patches currently in stable-queue which might be from eduma...@google.com are

queue-3.10/tcp-ipv4-initialize-unicast_sock-sk_pacing_rate.patch
queue-3.10/ip-zero-sockaddr-returned-on-error-queue.patch
queue-3.10/ping-fix-race-in-free-in-receive-path.patch
queue-3.10/net-rps-fix-cpu-unplug.patch
queue-3.10/netxen-fix-netxen_nic_poll-logic.patch
queue-3.10/ipv4-tcp-get-rid-of-ugly-unicast_sock.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to