1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/wireless/ath/ath9k
Miaoqing Pan 7c48662b9d ath9k: fix sleeping in atomic context
The problem is that gpio_free() can sleep and the cfg_soc() can be
called with spinlocks held. One problematic call tree is:

--> ath_reset_internal() takes &sc->sc_pcu_lock spin lock
   --> ath9k_hw_reset()
      --> ath9k_hw_gpio_request_in()
         --> ath9k_hw_gpio_request()
            --> ath9k_hw_gpio_cfg_soc()

Remove gpio_free(), use error message instead, so we should make sure
there is no GPIO conflict.

Also remove ath9k_hw_gpio_free() from ath9k_hw_apply_gpio_override(),
as gpio_mask will never be set for SOC chips.

Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1628481916-15030-1-git-send-email-miaoqing@codeaurora.org
2021-08-29 10:12:33 +03:00
..
ahb.c remove ioremap_nocache and devm_ioremap_nocache 2020-01-06 09:45:59 +01:00
ani.c ath9k: Replace HTTP links with HTTPS ones 2020-08-14 17:44:14 +03:00
ani.h ath9k_hw: tweak noise immunity thresholds for older chipsets 2014-03-03 15:35:55 -05:00
antenna.c ath9k: fix RX_STAT_INC() etc macros 2018-10-13 20:27:35 +03:00
ar953x_initvals.h ath9k: Update QCA953x initvals 2016-03-11 13:59:56 +02:00
ar955x_1p0_initvals.h ath9k: Update AR955x initvals 2016-03-11 13:59:58 +02:00
ar956x_initvals.h ath9k: Update QCA956x initvals 2016-03-11 13:59:59 +02:00
ar5008_initvals.h ath9k: ar5008_initvals: Move ar5416Bank{0,1,2,3,7} to where they are used 2020-08-27 13:17:40 +03:00
ar5008_phy.c ath9k: ar5008_phy: Demote half completed function headers 2020-11-07 10:07:51 +02:00
ar9001_initvals.h ath9k: ar9001_initvals: Remove unused array 'ar5416Bank6_9100' 2020-08-27 13:17:35 +03:00
ar9002_calib.c ath9k: add calibration timeout for AR9002 2020-04-28 12:07:21 +03:00
ar9002_hw.c ath9k: replace eeprom_param EEP_MINOR_REV with get_eeprom_rev 2016-12-15 10:26:27 +02:00
ar9002_initvals.h ath9k: ar9002_initvals: Remove unused array 'ar9280PciePhy_clkreq_off_L1_9280' 2020-08-27 13:17:32 +03:00
ar9002_mac.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
ar9002_phy.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
ar9002_phy.h ath9k_hw: fix spectral scan on AR9285 and newer 2016-07-19 20:58:07 +03:00
ar9003_2p2_initvals.h ath9k: ar9003_2p2_initvals: Remove unused const variables 2020-11-07 10:07:48 +02:00
ar9003_aic.c ath9k: use true,false for bool variable 2020-01-26 12:19:02 +02:00
ar9003_aic.h ath9k: reduce stack usage in ar9003_aic_cal_post_process 2016-03-03 19:27:17 +02:00
ar9003_buffalo_initvals.h ath9k: Use a separate TX gain table for WZR-HP-G450H 2013-12-09 15:37:58 -05:00
ar9003_calib.c Revert "ath9k_hw: implement temperature compensation support for AR9003+" 2016-10-13 14:11:30 +03:00
ar9003_eeprom.c ath9k: fix OOB read ar9300_eeprom_restore_internal 2021-08-29 10:12:09 +03:00
ar9003_eeprom.h ath9k: Read noise floor calibration data from eeprom 2018-01-25 07:33:36 +02:00
ar9003_hw.c net: Fix misspellings of "configure" and "configuration" 2019-10-28 13:41:01 -07:00
ar9003_mac.c ath9k: ar9003_mac: read STBC indicator from rx descriptor 2021-05-30 12:04:19 +03:00
ar9003_mac.h
ar9003_mci.c ath9k: remove set but not used variable 'new_flags' 2018-11-05 13:18:34 +02:00
ar9003_mci.h ath9k: Fix GPM initialization 2015-03-03 14:55:24 +02:00
ar9003_paprd.c treewide: kmalloc() -> kmalloc_array() 2018-06-12 16:19:22 -07:00
ar9003_phy.c ath9k: drop redundant code in ar9003_hw_set_channel 2019-04-29 17:56:03 +03:00
ar9003_phy.h ath9k_hw: fix duplicate (and partially wrong) definition of AR_CH0_THERM 2016-07-19 20:59:04 +03:00
ar9003_rtt.c ath9k: Fix RTT chainmask usage 2015-03-13 15:19:36 +02:00
ar9003_rtt.h ath9k_hw: make support for PC-OEM cards optional 2014-10-27 14:16:18 -04:00
ar9003_wow.c ath9k: Restart TSF2 timers on wakeup 2015-02-26 14:58:46 +02:00
ar9330_1p1_initvals.h ath9k: ar9330_1p1_initvals: Remove unused const variable 'ar9331_common_tx_gain_offset1_1' 2020-11-07 10:07:39 +02:00
ar9330_1p2_initvals.h ath9k: Update AR933x initvals 2016-03-11 13:59:57 +02:00
ar9340_initvals.h ath9k: ar9340_initvals: Remove unused const variable 'ar9340Modes_ub124_tx_gain_table_1p0' 2020-11-07 10:07:42 +02:00
ar9462_2p0_initvals.h ath9k: Update AR9462 initvals 2016-03-11 13:59:57 +02:00
ar9462_2p1_initvals.h ath9k: Update AR9462 initvals 2016-03-11 13:59:57 +02:00
ar9485_initvals.h ath9k: ar9485_initvals: Remove unused const variable 'ar9485_fast_clock_1_1_baseband_postamble' 2020-11-07 10:07:45 +02:00
ar9565_1p0_initvals.h ath9k: Update AR9565 initvals 2016-03-11 13:59:58 +02:00
ar9565_1p1_initvals.h ath9k: Add initvals for AR9565 1.1 2013-12-02 14:25:01 -05:00
ar9580_1p0_initvals.h ath9k: Remove set but not used variable 2020-09-29 11:29:20 +03:00
ath9k.h ath9k: fix transmitting to stations in dynamic SMPS mode 2021-02-18 08:07:25 +02:00
ath9k_pci_owl_loader.c ath9k: use iowrite32 over __raw_writel 2019-11-28 10:18:51 +02:00
beacon.c ath9k: Use tasklet_disable_in_atomic() 2021-03-17 16:34:02 +01:00
btcoex.c ath9k: fix BTCoex configuration for SOC chips 2016-03-11 14:00:04 +02:00
btcoex.h ath9k: fix BTCoex configuration for SOC chips 2016-03-11 14:00:04 +02:00
calib.c ath9k: add calibration timeout for AR9002 2020-04-28 12:07:21 +03:00
calib.h ath9k: restart hardware after noise floor calibration failure 2014-10-27 14:16:18 -04:00
channel.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
common-beacon.c ath9k: remove ath9k_mod_tsf64_tu 2015-12-08 16:51:05 +02:00
common-beacon.h ath9k: move ath9k_beacon_config_ap common 2014-03-17 13:13:08 -04:00
common-debug.c ath9k: remove trailing semicolon in macro definition 2020-12-07 18:13:18 +02:00
common-debug.h ath9k: add counters for good and errorneous FFT/spectral frames 2018-10-02 07:43:32 +03:00
common-init.c ath9k: spelling s/premble/preamble/ 2018-03-26 18:22:44 +03:00
common-init.h ath9k: move ath9k_reload_chainmask_settings to common 2014-02-28 14:33:16 -05:00
common-spectral.c ath9k: make relay callbacks const 2020-12-15 22:46:18 -08:00
common-spectral.h ath9k: fix and simplify FFT max index retrieval 2018-10-02 07:43:56 +03:00
common.c Merge ath-next from git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git 2017-05-19 11:47:44 +03:00
common.h ath9k: Fix beacon configuration for addition/removal of interfaces 2016-07-08 17:03:41 +03:00
debug.c ath9k: fix data bus crash when setting nf_override via debugfs 2021-02-11 08:49:45 +02:00
debug.h ath9k: Switch to mac80211 TXQ scheduling and airtime APIs 2019-02-12 20:44:41 +02:00
debug_sta.c ath9k: Switch to mac80211 TXQ scheduling and airtime APIs 2019-02-12 20:44:41 +02:00
dfs.c ath: add support to get the detected radar specifications 2018-05-25 13:15:21 +03:00
dfs.h ath9k/ath: move dfs pattern detector to ath 2013-10-18 14:03:54 -04:00
dfs_debug.c ath9k: remove trailing semicolon in macro definition 2020-12-07 18:13:18 +02:00
dfs_debug.h ath9k: simplify DFS pulse interval debug printing 2014-05-29 13:08:10 -04:00
dynack.c ath9k: work around false-positive gcc warning 2020-11-10 20:12:42 +02:00
dynack.h ath9k: dynack: make ewma estimation faster 2018-11-06 18:26:50 +02:00
eeprom.c ath9k: Differentiate between max combined and per chain power 2019-04-29 17:53:43 +03:00
eeprom.h ath9k: Add cast to u8 to FREQ2FBIN macro 2017-04-19 17:00:48 +03:00
eeprom_4k.c ath9k: Differentiate between max combined and per chain power 2019-04-29 17:53:43 +03:00
eeprom_9287.c ath9k: move RELAY and DEBUG_FS to ATH9K[_HTC]_DEBUGFS 2017-01-13 15:29:24 +02:00
eeprom_def.c ath9k: Use fallthrough pseudo-keyword 2020-08-14 18:04:06 +03:00
gpio.c ath: Convert timers to use timer_setup() 2017-10-27 16:54:19 +03:00
hif_usb.c ath9k: hif_usb: fix race condition between usb_get_urb() and usb_kill_anchored_urbs() 2020-09-21 16:05:43 +03:00
hif_usb.h ath9k: Fix general protection fault in ath9k_hif_usb_rx_cb 2020-04-07 07:57:26 +03:00
htc.h ath9k: convert tasklets to use new tasklet_setup() API 2020-08-27 13:16:18 +03:00
htc_drv_beacon.c mac80211: rename csa counters to countdown counters 2020-08-27 14:12:15 +02:00
htc_drv_debug.c wireless: Use octal not symbolic permissions 2018-03-27 11:01:13 +03:00
htc_drv_gpio.c ath9k: free GPIO resource for SOC GPIOs 2016-03-11 14:00:02 +02:00
htc_drv_init.c ath9k: Fix error check in ath9k_hw_read_revisions() for PCI devices 2021-04-22 16:37:54 +03:00
htc_drv_main.c ath: Modify ath_key_delete() to not need full key entry 2020-12-17 08:51:17 +02:00
htc_drv_txrx.c ath9k_htc: adhere to the DONT_REORDER transmit flag 2020-12-09 09:05:20 +02:00
htc_hst.c ath9k: Fix potential out of bounds in ath9k_htc_txcompletion_cb() 2020-08-17 13:24:01 +03:00
htc_hst.h ath9k_htc: catch fw panic pattern 2014-02-12 15:36:03 -05:00
hw-ops.h ath9k: Register private AIC ops 2015-03-20 08:27:17 +02:00
hw.c ath9k: fix sleeping in atomic context 2021-08-29 10:12:33 +03:00
hw.h ath9k: Postpone key cache entry deletion for TXQ frames reference it 2020-12-17 08:51:20 +02:00
init.c of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
Kconfig ath9k: fix build error with LEDS_CLASS=m 2021-01-28 09:29:34 +02:00
link.c ath: Convert timers to use timer_setup() 2017-10-27 16:54:19 +03:00
mac.c ath9k: add MSI support 2018-01-16 16:29:22 +02:00
mac.h mac80211: separate encoding/bandwidth from flags 2017-04-28 10:41:45 +02:00
main.c mac80211: notify driver on mgd TX completion 2021-06-23 13:10:46 +02:00
Makefile ath9k: add loader for AR92XX (and older) pci(e) 2019-09-04 09:12:35 +03:00
mci.c ath9k: remove cast to void pointer 2017-09-25 10:13:58 +03:00
mci.h
pci.c ath: switch from 'pci_' to 'dma_' API 2021-07-02 14:39:59 +03:00
phy.h
recv.c ath9k: Set RX filter based to allow broadcast Action frame RX 2020-05-30 17:17:20 +03:00
reg.h ath9k: add MSI support 2018-01-16 16:29:22 +02:00
reg_aic.h ath9k: Add register definitions for AIC 2015-03-20 08:27:19 +02:00
reg_mci.h ath9k: Mute BT properly 2015-03-03 14:55:27 +02:00
reg_wow.h ath9k: Clear additional WoW events 2015-02-26 14:58:43 +02:00
rng.c ath9k: avoid potential freezing during random generator read 2017-06-28 19:54:38 +03:00
tx99.c ath9k: add back support for using active monitor interfaces for tx99 2018-10-02 07:54:26 +03:00
wmi.c ath9k: convert tasklets to use new tasklet_setup() API 2020-08-27 13:16:18 +03:00
wmi.h ath9k: convert tasklets to use new tasklet_setup() API 2020-08-27 13:16:18 +03:00
wow.c ath9k: Register correct WOW details with mac80211 2015-02-06 08:39:21 +02:00
xmit.c ath9k: fix transmitting to stations in dynamic SMPS mode 2021-02-18 08:07:25 +02:00