sfc: Don't receive packets when the napi budget == 0
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 15 Mar 2014 01:11:22 +0000 (18:11 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Mar 2014 02:52:48 +0000 (22:52 -0400)
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>
drivers/net/ethernet/sfc/ef10.c
drivers/net/ethernet/sfc/farch.c

index eb75675f6e32e592e494c8cde49a87dddfb224db..651626e133f9b788dacc47234822c6f90190799d 100644 (file)
@@ -1955,6 +1955,9 @@ static int efx_ef10_ev_process(struct efx_channel *channel, int quota)
        int tx_descs = 0;
        int spent = 0;
 
+       if (quota <= 0)
+               return spent;
+
        read_ptr = channel->eventq_read_ptr;
 
        for (;;) {
index aa1b169f45ec1fec4c989443bc493d8c03ea080e..a08761360cdf526caf33051142149c2962a17f6c 100644 (file)
@@ -1248,6 +1248,9 @@ int efx_farch_ev_process(struct efx_channel *channel, int budget)
        int tx_packets = 0;
        int spent = 0;
 
+       if (budget <= 0)
+               return spent;
+
        read_ptr = channel->eventq_read_ptr;
 
        for (;;) {