[PATCH] e1000: Modified e1000_clean: exit poll
authorMalli Chilakala <mallikarjuna.chilakala@intel.com>
Fri, 29 Apr 2005 02:43:28 +0000 (19:43 -0700)
committerJeff Garzik <jgarzik@pobox.com>
Fri, 13 May 2005 00:48:54 +0000 (20:48 -0400)
Modified e1000_clean:: exit poll if no Tx and work_done == 0

Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>
Signed-off-by: Ganesh Venkatesan <ganesh.venkatesan@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
diff -up net-drivers-2.6/drivers/net/e1000/e1000_main.c net-drivers-2.6/drivers/net/e1000.new/e1000_main.c

drivers/net/e1000/e1000_main.c

index 0fec670e51ef8ba267967801f094e5a784f159fa..4cdf371961eb045ae41b455b915fac9efe578f09 100644 (file)
@@ -2368,9 +2368,8 @@ e1000_clean(struct net_device *netdev, int *budget)
        *budget -= work_done;
        netdev->quota -= work_done;
        
        *budget -= work_done;
        netdev->quota -= work_done;
        
-       /* if no Tx and not enough Rx work done, exit the polling mode */
-       if((!tx_cleaned && (work_done < work_to_do)) || 
-                               !netif_running(netdev)) {
+       /* If no Tx and no Rx work done, exit the polling mode */
+       if ((!tx_cleaned && (work_done == 0)) || !netif_running(netdev)) {
                netif_rx_complete(netdev);
                e1000_irq_enable(adapter);
                return 0;
                netif_rx_complete(netdev);
                e1000_irq_enable(adapter);
                return 0;