ibmveth: Don't receive packets when the napi budget == 0
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 15 Mar 2014 01:03:50 +0000 (18:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Mar 2014 02:52:47 +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/ibm/ibmveth.c

index 1fc8334fc181ad6d949ecffa2a289eb899c2a160..e75bdfcd137414925ade4348722a30adc644cf8c 100644 (file)
@@ -1072,7 +1072,7 @@ static int ibmveth_poll(struct napi_struct *napi, int budget)
        unsigned long lpar_rc;
 
 restart_poll:
-       do {
+       while (frames_processed < budget) {
                if (!ibmveth_rxq_pending_buffer(adapter))
                        break;
 
@@ -1121,7 +1121,7 @@ restart_poll:
                        netdev->stats.rx_bytes += length;
                        frames_processed++;
                }
-       } while (frames_processed < budget);
+       }
 
        ibmveth_replenish_task(adapter);