[PATCH v3 1/2] wifi: rtw88: clear RTW_FLAG_RESTARTING in rtw_ops_stop()
From: Kalpesh Solanki
Date: Sun Nov 08 2026 - 03:52:31 EST
When mac80211 stops or suspends the device without WoWLAN,
drv_reconfig_complete() is never invoked with
IEEE80211_RECONFIG_TYPE_RESTART. If firmware recovery was queued or
running during this transition, RTW_FLAG_RESTARTING remains set
permanently, preventing all subsequent firmware recoveries until the
driver is reloaded.
Clear RTW_FLAG_RESTARTING in rtw_ops_stop() so that the driver always
starts with a clean recovery state when the interface is brought back
up.
Fixes: 5c831644e1f4 ("rtw88: handle and recover when firmware crash")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Kalpesh Solanki <skalpesh942@xxxxxxxxx>
---
v3:
- New patch in v3 addressing the pre-existing RTW_FLAG_RESTARTING gap.
drivers/net/wireless/realtek/rtw88/mac80211.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/wireless/realtek/rtw88/mac80211.c b/drivers/net/wireless/realtek/rtw88/mac80211.c
index 5e40cf06a9e..7c86da9e939 100644
--- a/drivers/net/wireless/realtek/rtw88/mac80211.c
+++ b/drivers/net/wireless/realtek/rtw88/mac80211.c
@@ -67,6 +67,7 @@ static void rtw_ops_stop(struct ieee80211_hw *hw, bool suspend)
struct rtw_dev *rtwdev = hw->priv;
mutex_lock(&rtwdev->mutex);
+ clear_bit(RTW_FLAG_RESTARTING, rtwdev->flags);
rtw_core_stop(rtwdev);
mutex_unlock(&rtwdev->mutex);
}
--
2.53.0