Loading drivers/net/sky2.c +17 −11 Original line number Diff line number Diff line Loading @@ -1908,21 +1908,12 @@ static void sky2_tx_reset(struct sky2_hw *hw, unsigned port) sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_RST_SET); } /* Network shutdown */ static int sky2_down(struct net_device *dev) static void sky2_hw_down(struct sky2_port *sky2) { struct sky2_port *sky2 = netdev_priv(dev); struct sky2_hw *hw = sky2->hw; unsigned port = sky2->port; u16 ctrl; u32 imask; /* Never really got started! */ if (!sky2->tx_le) return 0; if (netif_msg_ifdown(sky2)) printk(KERN_INFO PFX "%s: disabling interface\n", dev->name); u16 ctrl; /* Force flow control off */ sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_PAUSE_OFF); Loading Loading @@ -1972,6 +1963,21 @@ static int sky2_down(struct net_device *dev) /* Free any pending frames stuck in HW queue */ sky2_tx_complete(sky2, sky2->tx_prod); } /* Network shutdown */ static int sky2_down(struct net_device *dev) { struct sky2_port *sky2 = netdev_priv(dev); /* Never really got started! */ if (!sky2->tx_le) return 0; if (netif_msg_ifdown(sky2)) printk(KERN_INFO PFX "%s: disabling interface\n", dev->name); sky2_hw_down(sky2); sky2_free_buffers(sky2); Loading Loading
drivers/net/sky2.c +17 −11 Original line number Diff line number Diff line Loading @@ -1908,21 +1908,12 @@ static void sky2_tx_reset(struct sky2_hw *hw, unsigned port) sky2_write8(hw, SK_REG(port, TX_GMF_CTRL_T), GMF_RST_SET); } /* Network shutdown */ static int sky2_down(struct net_device *dev) static void sky2_hw_down(struct sky2_port *sky2) { struct sky2_port *sky2 = netdev_priv(dev); struct sky2_hw *hw = sky2->hw; unsigned port = sky2->port; u16 ctrl; u32 imask; /* Never really got started! */ if (!sky2->tx_le) return 0; if (netif_msg_ifdown(sky2)) printk(KERN_INFO PFX "%s: disabling interface\n", dev->name); u16 ctrl; /* Force flow control off */ sky2_write8(hw, SK_REG(port, GMAC_CTRL), GMC_PAUSE_OFF); Loading Loading @@ -1972,6 +1963,21 @@ static int sky2_down(struct net_device *dev) /* Free any pending frames stuck in HW queue */ sky2_tx_complete(sky2, sky2->tx_prod); } /* Network shutdown */ static int sky2_down(struct net_device *dev) { struct sky2_port *sky2 = netdev_priv(dev); /* Never really got started! */ if (!sky2->tx_le) return 0; if (netif_msg_ifdown(sky2)) printk(KERN_INFO PFX "%s: disabling interface\n", dev->name); sky2_hw_down(sky2); sky2_free_buffers(sky2); Loading