]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
atl1c: fix issue of transmit queue 0 timed out
authorCloud Ren <cjren@qca.qualcomm.com>
Tue, 3 Jul 2012 16:51:48 +0000 (16:51 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 25 Jul 2012 03:11:21 +0000 (04:11 +0100)
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 <xiong@qca.qualcomm.com>
Signed-off-by: Cloud Ren <cjren@qca.qualcomm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/net/ethernet/atheros/atl1c/atl1c_main.c

index eccdcff7a21f0827fe70ac5ab9daf8485809ac97..5ae7df74d09b86aa99cec34526e5d368412c6b52 100644 (file)
@@ -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 {