Skip to content

Commit 0026b32

Browse files
Amitkumar KarwarKalle Valo
authored andcommitted
mwifiex: fix Tx timeout issue during suspend test
Call netif_carrier_off/on while stoping/starting netdev queues. This fixes netdev watchdog warning and ->ndo_tx_timeout() invocation during suspend resume stress test. Signed-off-by: Amitkumar Karwar <[email protected]> Fixes: 54f0084 ('mwifiex: Empty Tx queue during suspend') Tested-by: Wei-Ning Huang <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
1 parent 977bc52 commit 0026b32

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

drivers/net/wireless/marvell/mwifiex/cfg80211.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3272,8 +3272,11 @@ static int mwifiex_cfg80211_suspend(struct wiphy *wiphy,
32723272

32733273
for (i = 0; i < adapter->priv_num; i++) {
32743274
priv = adapter->priv[i];
3275-
if (priv && priv->netdev)
3275+
if (priv && priv->netdev) {
32763276
mwifiex_stop_net_dev_queue(priv->netdev, adapter);
3277+
if (netif_carrier_ok(priv->netdev))
3278+
netif_carrier_off(priv->netdev);
3279+
}
32773280
}
32783281

32793282
for (i = 0; i < retry_num; i++) {
@@ -3344,8 +3347,11 @@ static int mwifiex_cfg80211_resume(struct wiphy *wiphy)
33443347

33453348
for (i = 0; i < adapter->priv_num; i++) {
33463349
priv = adapter->priv[i];
3347-
if (priv && priv->netdev)
3350+
if (priv && priv->netdev) {
3351+
if (!netif_carrier_ok(priv->netdev))
3352+
netif_carrier_on(priv->netdev);
33483353
mwifiex_wake_up_net_dev_queue(priv->netdev, adapter);
3354+
}
33493355
}
33503356

33513357
priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA);

0 commit comments

Comments
 (0)