Patch "netxen: fix netxen_nic_poll() logic" has been added to the 3.18-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.18-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.18 subdirectory.

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


>From foo@baz Thu Feb 12 09:25:54 HKT 2015
From: Eric Dumazet <edumazet@xxxxxxxxxx>
Date: Thu, 22 Jan 2015 07:56:18 -0800
Subject: netxen: fix netxen_nic_poll() logic

From: Eric Dumazet <edumazet@xxxxxxxxxx>

[ 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 <umgwanakikbuti@xxxxxxxxx>
Signed-off-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Fixes: d75b1ade567f ("net: less interrupt masking in NAPI")
Cc: Manish Chopra <manish.chopra@xxxxxxxxxx>
Acked-by: Manish Chopra <manish.chopra@xxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 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
@@ -2388,7 +2388,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 edumazet@xxxxxxxxxx are

queue-3.18/tcp-ipv4-initialize-unicast_sock-sk_pacing_rate.patch
queue-3.18/net-sched-fix-panic-in-rate-estimators.patch
queue-3.18/ip-zero-sockaddr-returned-on-error-queue.patch
queue-3.18/ping-fix-race-in-free-in-receive-path.patch
queue-3.18/net-rps-fix-cpu-unplug.patch
queue-3.18/netxen-fix-netxen_nic_poll-logic.patch
queue-3.18/ipv4-tcp-get-rid-of-ugly-unicast_sock.patch
queue-3.18/bnx2x-fix-napi-poll-return-value-for-repoll.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]