On 8/21/2024 11:37 PM, Kalle Valo wrote: > @@ -845,7 +845,9 @@ int ath12k_wow_op_suspend(struct ieee80211_hw *hw, > struct ath12k *ar = ath12k_ah_to_ar(ah, 0); > int ret; > > - mutex_lock(&ar->conf_mutex); > + lockdep_assert_wiphy(hw->wiphy); > + > + wiphy_lock(ath12k_ar_to_hw(ar)->wiphy); we don't need this lock because it is already held by mac80211. > > ret = ath12k_wow_cleanup(ar); > if (ret) { > @@ -913,7 +915,7 @@ int ath12k_wow_op_suspend(struct ieee80211_hw *hw, > ath12k_wow_cleanup(ar); > > exit: > - mutex_unlock(&ar->conf_mutex); > + wiphy_unlock(ath12k_ar_to_hw(ar)->wiphy); same here. > return ret ? 1 : 0; > }