summaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgb
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2008-07-08 15:51:27 -0700
committerJeff Garzik <jgarzik@redhat.com>2008-07-11 01:20:27 -0400
commit72ab51954d108e4999b3c958ae21da731d2d789a (patch)
tree6b3003cb5907b5b5a11abc814d2971a93e720ffa /drivers/net/ixgb
parenta3dc3da02a7c29237ca4ce3ec17f0e1f87ff0a06 (diff)
downloadlinux-72ab51954d108e4999b3c958ae21da731d2d789a.tar.bz2
ixgb: check down state before enable irq
in order to prevent the case where poll_disable is waiting on our device to permanently, check the flag to make sure we're not down or closing down before re-enabling interrupts. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/ixgb')
-rw-r--r--drivers/net/ixgb/ixgb_main.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index ec8bce154364..60cad65dbc2e 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -1782,7 +1782,8 @@ ixgb_clean(struct napi_struct *napi, int budget)
/* If budget not fully consumed, exit the polling mode */
if (work_done < budget) {
netif_rx_complete(netdev, napi);
- ixgb_irq_enable(adapter);
+ if (!test_bit(__IXGB_DOWN, &adapter->flags))
+ ixgb_irq_enable(adapter);
}
return work_done;