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: Stephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: Adrian Bunk <bunk@stusta.de>
This commit is contained in:
committed by
Adrian Bunk
parent
65c35f6af6
commit
189b9a3bc9
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user