> -----Original Message----- > From: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> > Sent: Wednesday, December 28, 2022 9:36 PM > To: linux-wireless@xxxxxxxxxxxxxxx > Cc: tony0620emma@xxxxxxxxx; kvalo@xxxxxxxxxx; Ping-Ke Shih <pkshih@xxxxxxxxxxx>; tehuang@xxxxxxxxxxx; > s.hauer@xxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Martin Blumenstingl > <martin.blumenstingl@xxxxxxxxxxxxxx> > Subject: [PATCH 0/4] rtw88: Four fixes found while working on SDIO support > > This series consists of three patches which are fixing existing > behavior (meaning: it either affects PCIe or USB or both) in the rtw88 > driver. > > The first change adds the packed attribute to the eFuse structs. This > was spotted by Ping-Ke while reviewing the SDIO support patches from > [0]. > > The remaining three changes relate to locking (barrier hold) problems. > We previously had discussed patches for this for SDIO support, but the > problem never ocurred while testing USB cards. It turns out that these > are still needed and I think that they also fix the same problems for > USB users (it's not clear how often it happens there though). > > The issue fixed by the second and third patches have been spotted by a > user who tested rtw88 SDIO support. Everything is working fine for him > but there are warnings [1] and [2] in the kernel log stating "Voluntary > context switch within RCU read-side critical section!". > > The solution in the third and fourth patch was actually suggested by > Ping-Ke in [3]. Thanks again! > > > [0] https://lore.kernel.org/linux-wireless/695c976e02ed44a2b2345a3ceb226fc4@xxxxxxxxxxx/ > [1] https://github.com/LibreELEC/LibreELEC.tv/pull/7301#issuecomment-1366421445 > [2] https://github.com/LibreELEC/LibreELEC.tv/pull/7301#issuecomment-1366610249 > [3] https://lore.kernel.org/lkml/e0aa1ba4336ab130712e1fcb425e6fd0adca4145.camel@xxxxxxxxxxx/ > > > Martin Blumenstingl (4): > rtw88: Add packed attribute to the eFuse structs I think this patch depends on another patchset or oppositely. Please point that out for reviewers. > rtw88: Configure the registers from rtw_bf_assoc() outside the RCU > lock > rtw88: Use rtw_iterate_vifs() for rtw_vif_watch_dog_iter() > rtw88: Use non-atomic rtw_iterate_stas() in rtw_ra_mask_info_update() > > drivers/net/wireless/realtek/rtw88/bf.c | 13 ++++++------ > drivers/net/wireless/realtek/rtw88/mac80211.c | 4 +++- > drivers/net/wireless/realtek/rtw88/main.c | 6 ++++-- > drivers/net/wireless/realtek/rtw88/main.h | 6 +++--- > drivers/net/wireless/realtek/rtw88/rtw8723d.h | 6 +++--- > drivers/net/wireless/realtek/rtw88/rtw8821c.h | 20 +++++++++---------- > drivers/net/wireless/realtek/rtw88/rtw8822b.h | 20 +++++++++---------- > drivers/net/wireless/realtek/rtw88/rtw8822c.h | 20 +++++++++---------- > 8 files changed, 50 insertions(+), 45 deletions(-) > > -- > 2.39.0