diff options
Diffstat (limited to 'drivers/net/skge.c')
-rw-r--r-- | drivers/net/skge.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index b8978d4af1b7..c11cdd08ec57 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
@@ -2674,7 +2674,7 @@ static int skge_down(struct net_device *dev) | |||
2674 | if (netif_msg_ifdown(skge)) | 2674 | if (netif_msg_ifdown(skge)) |
2675 | printk(KERN_INFO PFX "%s: disabling interface\n", dev->name); | 2675 | printk(KERN_INFO PFX "%s: disabling interface\n", dev->name); |
2676 | 2676 | ||
2677 | netif_stop_queue(dev); | 2677 | netif_tx_disable(dev); |
2678 | 2678 | ||
2679 | if (hw->chip_id == CHIP_ID_GENESIS && hw->phy_type == SK_PHY_XMAC) | 2679 | if (hw->chip_id == CHIP_ID_GENESIS && hw->phy_type == SK_PHY_XMAC) |
2680 | del_timer_sync(&skge->link_timer); | 2680 | del_timer_sync(&skge->link_timer); |
@@ -2881,7 +2881,6 @@ static void skge_tx_clean(struct net_device *dev) | |||
2881 | } | 2881 | } |
2882 | 2882 | ||
2883 | skge->tx_ring.to_clean = e; | 2883 | skge->tx_ring.to_clean = e; |
2884 | netif_wake_queue(dev); | ||
2885 | } | 2884 | } |
2886 | 2885 | ||
2887 | static void skge_tx_timeout(struct net_device *dev) | 2886 | static void skge_tx_timeout(struct net_device *dev) |
@@ -2893,6 +2892,7 @@ static void skge_tx_timeout(struct net_device *dev) | |||
2893 | 2892 | ||
2894 | skge_write8(skge->hw, Q_ADDR(txqaddr[skge->port], Q_CSR), CSR_STOP); | 2893 | skge_write8(skge->hw, Q_ADDR(txqaddr[skge->port], Q_CSR), CSR_STOP); |
2895 | skge_tx_clean(dev); | 2894 | skge_tx_clean(dev); |
2895 | netif_wake_queue(dev); | ||
2896 | } | 2896 | } |
2897 | 2897 | ||
2898 | static int skge_change_mtu(struct net_device *dev, int new_mtu) | 2898 | static int skge_change_mtu(struct net_device *dev, int new_mtu) |