2021-06-05 01:12:28

by Bryan O'Donoghue

[permalink] [raw]
Subject: [PATCH v6 04/12] wcn36xx: Do not flush indication queue on suspend/resume

Testing on Android reveals that the flush on both suspend and resume of the
firmware indication work-queue can stall indefinitely.

Given this code path doesn't appear to have been exercised up until now,
removing this flush to unblock this situation.

Signed-off-by: Bryan O'Donoghue <[email protected]>
Tested-by: Benjamin Li <[email protected]>
---
drivers/net/wireless/ath/wcn36xx/main.c | 2 --
1 file changed, 2 deletions(-)

diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c
index 0da123660fa1..9731fcbe2e7f 100644
--- a/drivers/net/wireless/ath/wcn36xx/main.c
+++ b/drivers/net/wireless/ath/wcn36xx/main.c
@@ -1110,7 +1110,6 @@ static int wcn36xx_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wow)

wcn36xx_dbg(WCN36XX_DBG_MAC, "mac suspend\n");

- flush_workqueue(wcn->hal_ind_wq);
mutex_lock(&wcn->conf_mutex);

vif = wcn36xx_get_first_assoc_vif(wcn);
@@ -1132,7 +1131,6 @@ static int wcn36xx_resume(struct ieee80211_hw *hw)

wcn36xx_dbg(WCN36XX_DBG_MAC, "mac resume\n");

- flush_workqueue(wcn->hal_ind_wq);
mutex_lock(&wcn->conf_mutex);
vif = wcn36xx_get_first_assoc_vif(wcn);
if (vif) {
--
2.30.1