<pkshih@xxxxxxxxxxx> wrote: > From: Ping-Ke Shih <pkshih@xxxxxxxxxxx> > > rf_lock is used to protect RF register access, but they will not called > from interrupt context, so *_irqsave version isn't necessary. Then, these > delays don't affect IRQ services. > > The old code holds spin_lock_irqsave() that will be detected a long delay > as below: > > kworker/-276 4d... 0us : _raw_spin_lock_irqsave > kworker/-276 4d... 0us : rtl8723_phy_rf_serial_read <-rtl8723de_phy_set_rf_reg > kworker/-276 4d... 1us : rtl8723_phy_query_bb_reg <-rtl8723_phy_rf_serial_read > kworker/-276 4d... 3us : rtl8723_phy_set_bb_reg <-rtl8723_phy_rf_serial_read > kworker/-276 4d... 4us : __const_udelay <-rtl8723_phy_rf_serial_read > kworker/-276 4d... 4us!: delay_mwaitx <-rtl8723_phy_rf_serial_read > kworker/-276 4d... 1004us : rtl8723_phy_set_bb_reg <-rtl8723_phy_rf_serial_read > [...] > > Reported-by: Lucas Stach <dev@xxxxxxxxxx> > Signed-off-by: Ping-Ke Shih <pkshih@xxxxxxxxxxx> 2 patches applied to wireless-drivers-next.git, thanks. 92541dd9dda5 rtlwifi: rf_lock use non-irqsave spin_lock 4c8c0d8f709d rtlwifi: set proper udelay within rf_serial_read -- https://patchwork.kernel.org/patch/11248815/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches