Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> wrote: > USB and (upcoming) SDIO support may sleep in the read/write handlers. > Shrink the RCU critical section so it only cover the call to > ieee80211_find_sta() and finding the ic_vht_cap/vht_cap based on the > found station. This moves the chip's BFEE configuration outside the > rcu_read_lock section and thus prevent "scheduling while atomic" or > "Voluntary context switch within RCU read-side critical section!" > warnings when accessing the registers using an SDIO card (which is > where this issue has been spotted in the real world - but it also > affects USB cards). > > Reviewed-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > Tested-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> 3 patches applied to wireless-next.git, thanks. 8a1e2fd8e2da wifi: rtw88: Move register access from rtw_bf_assoc() outside the RCU 313f6dc7c5ed wifi: rtw88: Use rtw_iterate_vifs() for rtw_vif_watch_dog_iter() 2931978cd74f wifi: rtw88: Use non-atomic sta iterator in rtw_ra_mask_info_update() -- https://patchwork.kernel.org/project/linux-wireless/patch/20230108211324.442823-2-martin.blumenstingl@xxxxxxxxxxxxxx/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches