Baochen Qiang <quic_bqiang@xxxxxxxxxxx> writes: > 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. Ouch, that's bad. Will fix in v2, thanks! -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches