From: Cloud Ren Date: Tue, 3 Jul 2012 16:51:48 +0000 (+0000) Subject: atl1c: fix issue of transmit queue 0 timed out X-Git-Tag: v3.2.24~57 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e0dc11cd5466e1a433dde19ed0222dc08d9b8338;p=thirdparty%2Fkernel%2Fstable.git atl1c: fix issue of transmit queue 0 timed out commit b94e52f62683dc0b00c6d1b58b80929a078c0fd5 upstream. some people report atl1c could cause system hang with following kernel trace info: --------------------------------------- WARNING: at.../net/sched/sch_generic.c:258 dev_watchdog+0x1db/0x1d0() ... NETDEV WATCHDOG: eth0 (atl1c): transmit queue 0 timed out ... --------------------------------------- This is caused by netif_stop_queue calling when cable Link is down. So remove netif_stop_queue, because link_watch will take it over. Signed-off-by: xiong Signed-off-by: Cloud Ren Signed-off-by: David S. Miller [bwh: Backported to 3.2: adjust context] Signed-off-by: Ben Hutchings --- diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c index eccdcff7a21f0..5ae7df74d09b8 100644 --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c @@ -267,7 +267,6 @@ static void atl1c_check_link_status(struct atl1c_adapter *adapter) dev_warn(&pdev->dev, "stop mac failed\n"); atl1c_set_aspm(hw, false); netif_carrier_off(netdev); - netif_stop_queue(netdev); atl1c_phy_reset(hw); atl1c_phy_init(&adapter->hw); } else {