Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

bnx2x: Correct the ndo_poll_controller call

This patch correct poll_bnx2x (ndo_poll_controller call) which was not
functioning well with MSI-X.

Signed-off-by: Merav Sicron <meravs@broadcom.com>
Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com>
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Merav Sicron and committed by
David S. Miller
14a15d61 26614ba5

+5 -3
+5 -3
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
··· 11231 11231 static void poll_bnx2x(struct net_device *dev) 11232 11232 { 11233 11233 struct bnx2x *bp = netdev_priv(dev); 11234 + int i; 11234 11235 11235 - disable_irq(bp->pdev->irq); 11236 - bnx2x_interrupt(bp->pdev->irq, dev); 11237 - enable_irq(bp->pdev->irq); 11236 + for_each_eth_queue(bp, i) { 11237 + struct bnx2x_fastpath *fp = &bp->fp[i]; 11238 + napi_schedule(&bnx2x_fp(bp, fp->index, napi)); 11239 + } 11238 11240 } 11239 11241 #endif 11240 11242