Commit 77711683 authored by Mohd Faizal Abdul Rahim's avatar Mohd Faizal Abdul Rahim Committed by Jakub Kicinski

net: stmmac: ensure tx function is not running in stmmac_xdp_release()

When stmmac_xdp_release() is called, there is a possibility that tx
function is still running on other queues which will lead to tx queue
timed out and reset adapter.

This commit ensure that tx function is not running xdp before release
flow continue to run.

Fixes: ac746c85 ("net: stmmac: enhance XDP ZC driver level switching performance")
Signed-off-by: default avatarSong Yoong Siang <yoong.siang.song@intel.com>
Signed-off-by: default avatarMohd Faizal Abdul Rahim <faizal.abdul.rahim@intel.com>
Signed-off-by: default avatarNoor Azura Ahmad Tarmizi <noor.azura.ahmad.tarmizi@intel.com>
Link: https://lore.kernel.org/r/20221110064552.22504-1-noor.azura.ahmad.tarmizi@linux.intel.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent e2a54350
...@@ -6548,6 +6548,9 @@ void stmmac_xdp_release(struct net_device *dev) ...@@ -6548,6 +6548,9 @@ void stmmac_xdp_release(struct net_device *dev)
struct stmmac_priv *priv = netdev_priv(dev); struct stmmac_priv *priv = netdev_priv(dev);
u32 chan; u32 chan;
/* Ensure tx function is not running */
netif_tx_disable(dev);
/* Disable NAPI process */ /* Disable NAPI process */
stmmac_disable_all_queues(priv); stmmac_disable_all_queues(priv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment