Commit 189b9a3b authored by Stephen Hemminger's avatar Stephen Hemminger Committed by Adrian Bunk

sky2: fix for NAPI with dual port boards

This driver uses port 0 to handle receives on both ports. So
the netif_poll_disable call in dev_close would end up stopping the
second port on dual port cards.
Signed-off-by: default avatarStephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: default avatarAdrian Bunk <bunk@stusta.de>
parent 65c35f6a
......@@ -1402,6 +1402,13 @@ static int sky2_down(struct net_device *dev)
/* Stop more packets from being queued */
netif_stop_queue(dev);
/*
* Both ports share the NAPI poll on port 0, so if necessary undo the
* the disable that is done in dev_close.
*/
if (sky2->port == 0 && hw->ports > 1)
netif_poll_enable(dev);
/* Disable port IRQ */
spin_lock_irq(&hw->hw_lock);
hw->intr_mask &= ~((sky2->port == 0) ? Y2_IS_IRQ_PHY1 : Y2_IS_IRQ_PHY2);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment