Patch "net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning" has been added to the 5.4-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     net-amd-xgbe-fix-netdev-watchdog-transmit-queue-time.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 8a66d354fe3f746380d0743c5d6cbea1e641d881
Author: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>
Date:   Wed Feb 17 00:37:08 2021 +0530

    net: amd-xgbe: Fix NETDEV WATCHDOG transmit queue timeout warning
    
    [ Upstream commit 186edbb510bd60e748f93975989ccba25ee99c50 ]
    
    The current driver calls netif_carrier_off() late in the link tear down
    which can result in a netdev watchdog timeout.
    
    Calling netif_carrier_off() immediately after netif_tx_stop_all_queues()
    avoids the warning.
    
     ------------[ cut here ]------------
     NETDEV WATCHDOG: enp3s0f2 (amd-xgbe): transmit queue 0 timed out
     WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:461 dev_watchdog+0x20d/0x220
     Modules linked in: amd_xgbe(E)  amd-xgbe 0000:03:00.2 enp3s0f2: Link is Down
     CPU: 3 PID: 0 Comm: swapper/3 Tainted: G            E
     Hardware name: AMD Bilby-RV2/Bilby-RV2, BIOS RBB1202A 10/18/2019
     RIP: 0010:dev_watchdog+0x20d/0x220
     Code: 00 49 63 4e e0 eb 92 4c 89 e7 c6 05 c6 e2 c1 00 01 e8 e7 ce fc ff 89 d9 48
     RSP: 0018:ffff90cfc28c3e88 EFLAGS: 00010286
     RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000006
     RDX: 0000000000000007 RSI: 0000000000000086 RDI: ffff90cfc28d63c0
     RBP: ffff90cfb977845c R08: 0000000000000050 R09: 0000000000196018
     R10: ffff90cfc28c3ef8 R11: 0000000000000000 R12: ffff90cfb9778000
     R13: 0000000000000003 R14: ffff90cfb9778480 R15: 0000000000000010
     FS:  0000000000000000(0000) GS:ffff90cfc28c0000(0000) knlGS:0000000000000000
     CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
     CR2: 00007f240ff2d9d0 CR3: 00000001e3e0a000 CR4: 00000000003406e0
     Call Trace:
      <IRQ>
      ? pfifo_fast_reset+0x100/0x100
      call_timer_fn+0x2b/0x130
      run_timer_softirq+0x3e8/0x440
      ? enqueue_hrtimer+0x39/0x90
    
    Fixes: e722ec82374b ("amd-xgbe: Update the BelFuse quirk to support SGMII")
    Co-developed-by: Sudheesh Mavila <sudheesh.mavila@xxxxxxx>
    Signed-off-by: Sudheesh Mavila <sudheesh.mavila@xxxxxxx>
    Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>
    Acked-by: Tom Lendacky <thomas.lendacky@xxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
index 3bd20f7651207..da8c2c4aca7ef 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-drv.c
@@ -1443,6 +1443,7 @@ static void xgbe_stop(struct xgbe_prv_data *pdata)
 		return;
 
 	netif_tx_stop_all_queues(netdev);
+	netif_carrier_off(pdata->netdev);
 
 	xgbe_stop_timers(pdata);
 	flush_workqueue(pdata->dev_workqueue);
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c b/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
index 8a3a60bb26888..4d5506d928973 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c
@@ -1396,7 +1396,6 @@ static void xgbe_phy_stop(struct xgbe_prv_data *pdata)
 	pdata->phy_if.phy_impl.stop(pdata);
 
 	pdata->phy.link = 0;
-	netif_carrier_off(pdata->netdev);
 
 	xgbe_phy_adjust_link(pdata);
 }



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux