From: Mike McCormack netif_stop_queue does not ensure all in-progress transmits are complete, so use netif_tx_disable() instead. Secondly, make sure NAPI polls are disabled before stopping the tx queue, otherwise sky2_status_intr might trigger a TX queue wakeup between when we stop the queue and NAPI is disabled. Signed-off-by: Mike McCormack Acked-by: Stephen Hemminger --- This is not a regression, so only apply to -next --- a/drivers/net/sky2.c 2010-05-13 08:57:20.186332415 -0700 +++ b/drivers/net/sky2.c 2010-05-13 08:57:22.526983099 -0700 @@ -2275,8 +2275,8 @@ static int sky2_change_mtu(struct net_de sky2_write32(hw, B0_IMSK, 0); dev->trans_start = jiffies; /* prevent tx timeout */ - netif_stop_queue(dev); napi_disable(&hw->napi); + netif_tx_disable(dev); synchronize_irq(hw->pdev->irq); -- 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