bnx2: fix poll_controller to pass proper structures and check all rx queues

Fix bnx2 so that netpoll works properly. Specifically:

1) Fix parameters to bnx2_interrupt to be a struct bnx2_napi rather than a
struct net_device

2) Fix poll_controller method to check every queue in the rx case so frames
aren't missed

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by Neil Horman and committed by David S. Miller b2af2c1d ddd535c7

+6 -3
+6 -3
drivers/net/bnx2.c
··· 7204 7204 poll_bnx2(struct net_device *dev) 7205 7205 { 7206 7206 struct bnx2 *bp = netdev_priv(dev); 7207 + int i; 7207 7208 7208 - disable_irq(bp->pdev->irq); 7209 - bnx2_interrupt(bp->pdev->irq, dev); 7210 - enable_irq(bp->pdev->irq); 7209 + for (i = 0; i < bp->irq_nvecs; i++) { 7210 + disable_irq(bp->irq_tbl[i].vector); 7211 + bnx2_interrupt(bp->irq_tbl[i].vector, &bp->bnx2_napi[i]); 7212 + enable_irq(bp->irq_tbl[i].vector); 7213 + } 7211 7214 } 7212 7215 #endif 7213 7216