linux/drivers/net/wireless/realtek/rtw88
Po-Hao Huang 7bd3760c71 rtw88: refine napi deinit flow
We used to stop napi before disabling irqs. And it turns out
to cause some problem when we try to stop device while interrupt arrives.

To safely stop pci, we do three steps:
1. disable interrupt
2. synchronize_irq
3. stop_napi
Since step 2 and 3 may not finish as expected when interrupt is enabled,
use rtwpci->running to decide whether interrupt should be re-enabled at
the time.

Fixes: 9e2fd29864 ("rtw88: add napi support")
Signed-off-by: Po-Hao Huang <phhuang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210415084703.27255-4-pkshih@realtek.com
2021-04-21 12:37:50 +03:00
..
bf.c rtw88: 8821c: add beamformee support 2020-07-15 12:08:14 +03:00
bf.h rtw88: 8723d: add beamform wrapper functions 2020-04-21 15:59:18 +03:00
coex.c rtw88: coex: fix A2DP stutters while WL busy + WL scan 2021-04-11 12:27:58 +03:00
coex.h rtw88: 8822c: add CFO tracking 2021-04-18 09:38:27 +03:00
debug.c rtw88: 8822c: debug: allow debugfs to enable/disable TXGAPK 2021-04-21 12:36:43 +03:00
debug.h rtw88: 8822c: add CFO tracking 2021-04-18 09:38:27 +03:00
efuse.c rtw88: extract: export symbols used in chip functionalities 2020-05-18 15:16:15 +03:00
efuse.h rtw88: set power trim according to efuse PG values 2020-04-21 16:00:21 +03:00
fw.c rtw88: 8822c: Add gap-k calibration to improve long range performance 2021-04-21 12:36:32 +03:00
fw.h rtw88: 8822c: Add gap-k calibration to improve long range performance 2021-04-21 12:36:32 +03:00
hci.h rtw88: add flush hci support 2021-04-11 12:24:31 +03:00
Kconfig rtw88: 8821c: Add 8821CE to Kconfig and Makefile 2020-07-15 12:08:16 +03:00
mac80211.c rtw88: add flush hci support 2021-04-11 12:24:31 +03:00
mac.c rtw88: 8822c: support FW crash dump when FW crash 2021-03-15 10:27:13 +02:00
mac.h rtw88: 8822c: support FW crash dump when FW crash 2021-03-15 10:27:13 +02:00
main.c rtw88: 8822c: support FW crash dump when FW crash 2021-03-15 10:27:13 +02:00
main.h rtw88: 8822c: debug: allow debugfs to enable/disable TXGAPK 2021-04-21 12:36:43 +03:00
Makefile rtw88: 8821c: Add 8821CE to Kconfig and Makefile 2020-07-15 12:08:16 +03:00
pci.c rtw88: refine napi deinit flow 2021-04-21 12:37:50 +03:00
pci.h rtw88: refine napi deinit flow 2021-04-21 12:37:50 +03:00
phy.c rtw88: 8822c: add CFO tracking 2021-04-18 09:38:27 +03:00
phy.h rtw88: 8822c: add CFO tracking 2021-04-18 09:38:27 +03:00
ps.c rtw88: decide lps deep mode from firmware feature. 2020-11-07 17:51:06 +02:00
ps.h rtw88: decide lps deep mode from firmware feature. 2020-11-07 17:51:06 +02:00
reg.h rtw88: 8822c: Add gap-k calibration to improve long range performance 2021-04-21 12:36:32 +03:00
regd.c rtw88: update tx power limit table to RF v20 2019-06-27 20:24:27 +03:00
regd.h rtw88: update tx power limit table to RF v20 2019-06-27 20:24:27 +03:00
rtw8723d_table.c rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables 2020-04-21 15:59:21 +03:00
rtw8723d_table.h rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables 2020-04-21 15:59:21 +03:00
rtw8723d.c rtw88: 8723de: adjust the LTR setting 2021-01-25 16:41:10 +02:00
rtw8723d.h rtw88: 8723d: add cck pd seetings 2020-11-24 11:15:22 +02:00
rtw8723de.c rtw88: pci: Add prototypes for .probe, .remove and .shutdown 2020-12-07 18:32:17 +02:00
rtw8723de.h rtw88: pci: Add prototypes for .probe, .remove and .shutdown 2020-12-07 18:32:17 +02:00
rtw8821c_table.c rtw88: 8821c: support RFE type2 wifi NIC 2021-02-08 12:51:39 +02:00
rtw8821c_table.h rtw88: 8821c: support RFE type2 wifi NIC 2021-02-08 12:51:39 +02:00
rtw8821c.c rtw88: 8821c: Don't set RX_FLAG_DECRYPTED if packet has no encryption 2021-04-21 12:37:36 +03:00
rtw8821c.h rtw88: 8821c: support RFE type2 wifi NIC 2021-02-08 12:51:39 +02:00
rtw8821ce.c rtw88: pci: Add prototypes for .probe, .remove and .shutdown 2020-12-07 18:32:17 +02:00
rtw8821ce.h rtw88: pci: Add prototypes for .probe, .remove and .shutdown 2020-12-07 18:32:17 +02:00
rtw8822b_table.c rtw88: use rtw_phy_pg_cfg_pair struct, not arrays 2019-10-31 10:03:48 +02:00
rtw8822b_table.h rtw88: 8822b: add RFE type 3 support 2019-10-31 10:03:47 +02:00
rtw8822b.c rtw88: coex: upgrade coexistence A2DP mechanism 2020-12-02 21:24:02 +02:00
rtw8822b.h rtw88: add phy_info debugfs to show Tx/Rx physical status 2019-10-24 08:46:25 +03:00
rtw8822be.c rtw88: pci: Add prototypes for .probe, .remove and .shutdown 2020-12-07 18:32:17 +02:00
rtw8822be.h rtw88: pci: Add prototypes for .probe, .remove and .shutdown 2020-12-07 18:32:17 +02:00
rtw8822c_table.c rtw88: 8822c: update tx power limit table to RF v40.1 2021-04-11 12:25:19 +03:00
rtw8822c_table.h rtw88: 8822c: update phy parameter tables to v50 2020-05-04 12:46:14 +03:00
rtw8822c.c rtw88: 8822c: debug: allow debugfs to enable/disable TXGAPK 2021-04-21 12:36:43 +03:00
rtw8822c.h rtw88: 8822c: Add gap-k calibration to improve long range performance 2021-04-21 12:36:32 +03:00
rtw8822ce.c rtw88: pci: Add prototypes for .probe, .remove and .shutdown 2020-12-07 18:32:17 +02:00
rtw8822ce.h rtw88: pci: Add prototypes for .probe, .remove and .shutdown 2020-12-07 18:32:17 +02:00
rx.c rtw88: extract: export symbols used in chip functionalities 2020-05-18 15:16:15 +03:00
rx.h rtw88: Don't set RX_FLAG_DECRYPTED if packet has no encryption 2019-10-04 16:45:01 +03:00
sec.c rtw88: fill zeros to words 0x06 and 0x07 of security cam entry 2020-05-13 18:48:52 +03:00
sec.h rtw88: add deep PS PG mode for 8822c 2019-10-02 07:33:49 +03:00
tx.c rtw88: replace tx tasklet with work queue 2021-02-12 09:51:09 +02:00
tx.h rtw88: replace tx tasklet with work queue 2021-02-12 09:51:09 +02:00
util.c rtw88: extract: export symbols used in chip functionalities 2020-05-18 15:16:15 +03:00
util.h rtw88: handle and recover when firmware crash 2020-09-29 11:22:19 +03:00
wow.c rtw88: wow: print key type when failing 2020-11-24 11:17:52 +02:00
wow.h rtw88: Add wowlan net-detect support 2020-01-26 17:37:05 +02:00