Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger --- drivers/net/sky2.c | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index dbedee4..972c716 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -3078,10 +3078,13 @@ static void sky2_restart(struct work_struct *work) int i, err; rtnl_lock(); + for (i = 0; i < hw->ports; i++) { dev = hw->dev[i]; - if (netif_running(dev)) + if (netif_running(dev)) { + netif_tx_lock(dev); sky2_down(dev); + } } napi_disable(&hw->napi); @@ -3099,6 +3102,8 @@ static void sky2_restart(struct work_struct *work) dev->name, err); dev_close(dev); } + else + netif_tx_unlock(dev); } } @@ -3697,8 +3702,10 @@ static int sky2_set_ringparam(struct net_device *dev, ering->tx_pending > TX_RING_SIZE - 1) return -EINVAL; - if (netif_running(dev)) + if (netif_running(dev)) { + netif_tx_lock(dev); sky2_down(dev); + } sky2->rx_pending = ering->rx_pending; sky2->tx_pending = ering->tx_pending; @@ -3707,6 +3714,8 @@ static int sky2_set_ringparam(struct net_device *dev, err = sky2_up(dev); if (err) dev_close(dev); + else + netif_tx_unlock(dev); } return err; -- 1.5.6.5 -- -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html