Baochen Qiang <quic_bqiang@xxxxxxxxxxx> writes: > On 8/21/2024 11:37 PM, Kalle Valo wrote: >> From: Kalle Valo <quic_kvalo@xxxxxxxxxxx> >> >> As ath12k is now converted to use wiphy lock we can convert >> ath12k_sta_rc_update_wk() to use wiphy_work_queue(). This is just for >> consistency. >> >> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 >> >> Signed-off-by: Kalle Valo <quic_kvalo@xxxxxxxxxxx> >> --- >> drivers/net/wireless/ath/ath12k/core.h | 2 +- >> drivers/net/wireless/ath/ath12k/mac.c | 17 +++++++++-------- >> 2 files changed, 10 insertions(+), 9 deletions(-) >> >> diff --git a/drivers/net/wireless/ath/ath12k/core.h b/drivers/net/wireless/ath/ath12k/core.h >> index 7fad2150d9bd..cc28185be650 100644 >> --- a/drivers/net/wireless/ath/ath12k/core.h >> +++ b/drivers/net/wireless/ath/ath12k/core.h >> @@ -445,7 +445,7 @@ struct ath12k_sta { >> u32 smps; >> enum hal_pn_type pn_type; >> >> - struct work_struct update_wk; >> + struct wiphy_work update_wk; >> struct rate_info txrate; >> struct rate_info last_txrate; >> u64 rx_duration; >> diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c >> index 80db9004cdd7..8bf7b026f8e4 100644 >> --- a/drivers/net/wireless/ath/ath12k/mac.c >> +++ b/drivers/net/wireless/ath/ath12k/mac.c >> @@ -4258,9 +4258,9 @@ static int ath12k_station_disassoc(struct ath12k *ar, >> return 0; >> } >> >> -static void ath12k_sta_rc_update_wk(struct work_struct *wk) >> +static void ath12k_sta_rc_update_wk(struct wiphy *wiphy, struct wiphy_work *work) >> { >> - struct ath12k *ar; >> + struct ath12k *ar = wiphy_priv(wiphy); > > wiphy_priv() returns pointer to ieee80211_local, not ath12k. Yikes! Great find, thanks for the thorough review. Will fix in v2. -- https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches