summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorEric W. Biederman2014-03-15 02:03:23 +0100
committerDavid S. Miller2014-03-15 03:52:47 +0100
commit9b2c05713edb56a338536ab26541e155763c0961 (patch)
tree1cb8b388f0bc09607572b09a41f1cba3b89d85de /drivers/net
parentenic: Don't receive packets when the napi budget == 0 (diff)
downloadkernel-qcow2-linux-9b2c05713edb56a338536ab26541e155763c0961.tar.gz
kernel-qcow2-linux-9b2c05713edb56a338536ab26541e155763c0961.tar.xz
kernel-qcow2-linux-9b2c05713edb56a338536ab26541e155763c0961.zip
fs_enet: Don't receive packets when the napi budget == 0
Processing any incoming packets with a with a napi budget of 0 is incorrect driver behavior. This matters as netpoll will shortly call drivers with a budget of 0 to avoid receive packet processing happening in hard irq context. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
index 62f042d4aaa9..dc80db41d6b3 100644
--- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
+++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c
@@ -91,6 +91,9 @@ static int fs_enet_rx_napi(struct napi_struct *napi, int budget)
u16 pkt_len, sc;
int curidx;
+ if (budget <= 0)
+ return received;
+
/*
* First, grab all of the stats for the incoming packet.
* These get messed up if we get called due to a busy condition.