diff options
author | Michael Chan <mchan@broadcom.com> | 2010-03-23 14:13:12 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-03-24 07:19:56 +0100 |
commit | 1bf1e347ef254ed8a13e7971a30e1bf3983da3d1 (patch) | |
tree | 51e5d0cbf9a73bf79880e6b9fe54ec6930874cd7 /drivers/net/bnx2.c | |
parent | bnx2: Fix netpoll crash. (diff) | |
download | linux-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.c | 8 |
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 |