summaryrefslogtreecommitdiffstats
path: root/drivers/net/bnx2.c
diff options
context:
space:
mode:
authorMichael Chan <mchan@broadcom.com>2010-03-23 14:13:12 +0100
committerDavid S. Miller <davem@davemloft.net>2010-03-24 07:19:56 +0100
commit1bf1e347ef254ed8a13e7971a30e1bf3983da3d1 (patch)
tree51e5d0cbf9a73bf79880e6b9fe54ec6930874cd7 /drivers/net/bnx2.c
parentbnx2: Fix netpoll crash. (diff)
downloadlinux-1bf1e347ef254ed8a13e7971a30e1bf3983da3d1.tar.xz
linux-1bf1e347ef254ed8a13e7971a30e1bf3983da3d1.zip
bnx2: Use proper handler during netpoll.
Netpoll needs to call the proper handler depending on the IRQ mode and the vector. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2.c')
-rw-r--r--drivers/net/bnx2.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c
index 417de1cb2d46..a257babd1bb4 100644
--- a/drivers/net/bnx2.c
+++ b/drivers/net/bnx2.c
@@ -7646,9 +7646,11 @@ poll_bnx2(struct net_device *dev)
int i;
for (i = 0; i < bp->irq_nvecs; i++) {
- disable_irq(bp->irq_tbl[i].vector);
- bnx2_interrupt(bp->irq_tbl[i].vector, &bp->bnx2_napi[i]);
- enable_irq(bp->irq_tbl[i].vector);
+ struct bnx2_irq *irq = &bp->irq_tbl[i];
+
+ disable_irq(irq->vector);
+ irq->handler(irq->vector, &bp->bnx2_napi[i]);
+ enable_irq(irq->vector);
}
}
#endif