2021-03-15 12:09:30

by Bryan O'Donoghue

[permalink] [raw]
Subject: [PATCH v2 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]>
---
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 f95103706100..029c9952b4fb 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_vif(wcn);
if (vif) {
@@ -1135,7 +1134,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_vif(wcn);
if (vif) {
--
2.30.1