mirror_ubuntu-kernels/drivers/net/wireless/realtek/rtlwifi/rtl8821ae
Ping-Ke Shih 92541dd9dd rtlwifi: rf_lock use non-irqsave spin_lock
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@lynxeye.de>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
2019-11-20 09:41:29 +02:00
..
def.h rtlwifi: rtl8188ee: rtl8192ce: rtl8192de: rtl8723ae: rtl8821ae: Remove some unused bit manipulation macros 2019-09-13 17:55:40 +03:00
dm.c rtlwifi: rtl8821ae: Remove set but not used variables 'cur_txokcnt' and 'b_last_is_cur_rdl_state' 2019-05-28 15:37:10 +03:00
dm.h rtlwifi: rtl8821ae: Remove CamelCase variables 2019-02-19 17:03:10 +02:00
fw.c rtlwifi: fix potential NULL pointer dereference 2019-04-04 13:25:27 +03:00
fw.h rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
hw.c rtlwifi: rtl8821ae: Remove CamelCase variables 2019-02-19 17:03:10 +02:00
hw.h rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
led.c rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
led.h rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
phy.c rtlwifi: rf_lock use non-irqsave spin_lock 2019-11-20 09:41:29 +02:00
phy.h rtlwifi: rtl8821ae: Remove CamelCase variables 2019-02-19 17:03:10 +02:00
pwrseq.c rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
pwrseq.h rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
reg.h rtlwifi: rtl8821ae: Remove CamelCase variables 2019-02-19 17:03:10 +02:00
rf.c rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
rf.h rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
sw.c rtlwifi: remove assignment to itself 2019-07-24 14:54:56 +03:00
sw.h rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
table.c rtlwifi: rtl8821ae: Remove CamelCase variables 2019-02-19 17:03:10 +02:00
table.h rtlwifi: rtl8821ae: Replace old-style license information 2019-02-19 17:00:43 +02:00
trx.c rtlwifi: rtl8821ae: Convert inline routines to little-endian words 2019-05-28 15:35:00 +03:00
trx.h rtlwifi: rtl8821ae: Fix incorrect returned values 2019-09-03 16:34:23 +03:00