diff options
Diffstat (limited to 'drivers/net/qlcnic/qlcnic_main.c')
-rw-r--r-- | drivers/net/qlcnic/qlcnic_main.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c index 5a6445a691b..5fd2abd1eb6 100644 --- a/drivers/net/qlcnic/qlcnic_main.c +++ b/drivers/net/qlcnic/qlcnic_main.c | |||
@@ -2513,9 +2513,16 @@ static int qlcnic_rx_poll(struct napi_struct *napi, int budget) | |||
2513 | #ifdef CONFIG_NET_POLL_CONTROLLER | 2513 | #ifdef CONFIG_NET_POLL_CONTROLLER |
2514 | static void qlcnic_poll_controller(struct net_device *netdev) | 2514 | static void qlcnic_poll_controller(struct net_device *netdev) |
2515 | { | 2515 | { |
2516 | int ring; | ||
2517 | struct qlcnic_host_sds_ring *sds_ring; | ||
2516 | struct qlcnic_adapter *adapter = netdev_priv(netdev); | 2518 | struct qlcnic_adapter *adapter = netdev_priv(netdev); |
2519 | struct qlcnic_recv_context *recv_ctx = &adapter->recv_ctx; | ||
2520 | |||
2517 | disable_irq(adapter->irq); | 2521 | disable_irq(adapter->irq); |
2518 | qlcnic_intr(adapter->irq, adapter); | 2522 | for (ring = 0; ring < adapter->max_sds_rings; ring++) { |
2523 | sds_ring = &recv_ctx->sds_rings[ring]; | ||
2524 | qlcnic_intr(adapter->irq, sds_ring); | ||
2525 | } | ||
2519 | enable_irq(adapter->irq); | 2526 | enable_irq(adapter->irq); |
2520 | } | 2527 | } |
2521 | #endif | 2528 | #endif |