From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org, Eric Dumazet <edumazet@google.com>,
Manish Chopra <manish.chopra@qlogic.com>,
"David S. Miller" <davem@davemloft.net>
Subject: [PATCH 3.14 04/17] netxen: fix netxen_nic_poll() logic
Date: Tue, 24 Feb 2015 18:10:06 -0800 [thread overview]
Message-ID: <20150225020834.910616177@linuxfoundation.org> (raw)
In-Reply-To: <20150225020834.736559433@linuxfoundation.org>
3.14-stable review patch. If anyone has any objections, please let me know.
------------------
From: Eric Dumazet <edumazet@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 <umgwanakikbuti@gmail.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Fixes: d75b1ade567f ("net: less interrupt masking in NAPI")
Cc: Manish Chopra <manish.chopra@qlogic.com>
Acked-by: Manish Chopra <manish.chopra@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@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
@@ -2390,7 +2390,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);
next prev parent reply other threads:[~2015-02-25 2:24 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-25 2:10 [PATCH 3.14 00/17] 3.14.34-stable review Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 01/17] ip: zero sockaddr returned on error queue Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 02/17] net: rps: fix cpu unplug Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 03/17] ipv6: stop sending PTB packets for MTU < 1280 Greg Kroah-Hartman
2015-02-25 2:10 ` Greg Kroah-Hartman [this message]
2015-02-25 2:10 ` [PATCH 3.14 05/17] net: sctp: fix slab corruption from use after free on INIT collisions Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 06/17] ipv4: try to cache dst_entries which would cause a redirect Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 07/17] udp_diag: Fix socket skipping within chain Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 08/17] ping: Fix race in free in receive path Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 09/17] ipv6: replacing a rt6_info needs to purge possible propagated rt6_infos too Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 10/17] bnx2x: fix napi poll return value for repoll Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 11/17] net: dont OOPS on socket aio Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 12/17] bridge: dont send notification when skb->len == 0 in rtnl_bridge_notify Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 13/17] tcp: ipv4: initialize unicast_sock sk_pacing_rate Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 14/17] ipv4: tcp: get rid of ugly unicast_sock Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 15/17] ppp: deflate: never return len larger than output buffer Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 16/17] net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param Greg Kroah-Hartman
2015-02-25 2:10 ` [PATCH 3.14 17/17] [media] media/rc: Send sync space information on the lirc device Greg Kroah-Hartman
2015-02-25 16:45 ` [PATCH 3.14 00/17] 3.14.34-stable review Guenter Roeck
2015-02-25 20:55 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150225020834.910616177@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=manish.chopra@qlogic.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.