linux_dsm_epyc7002/drivers/net/wireless/ath/ath9k
Tom Hughes 6bb51c70ca ath9k: fix panic caused by returning a descriptor we have queued for reuse
Commit 3a2923e83c introduced a bug when a corrupt descriptor
is encountered - although the following descriptor is discarded
and returned to the queue for reuse the associated frame is
also returned for processing. This leads to a panic:

BUG: unable to handle kernel NULL pointer dereference at 000000000000003a
IP: [<ffffffffa02599a5>] ath_rx_tasklet+0x165/0x1b00 [ath9k]
Call Trace:
<IRQ>
[<ffffffff812d7fa0>] ? map_single+0x60/0x60
[<ffffffffa028f044>] ? ath9k_ioread32+0x34/0x90 [ath9k]
[<ffffffffa0292eec>] athk9k_tasklet+0xdc/0x160 [ath9k]
[<ffffffff8105e133>] tasklet_action+0x63/0xd0
[<ffffffff8105dbc0>] __do_softirq+0xc0/0x1e0
[<ffffffff8101a873>] ? native_sched_clock+0x13/0x80
[<ffffffff815f9d5c>] call_softirq+0x1c/0x30
[<ffffffff810151f5>] do_softirq+0x75/0xb0
[<ffffffff8105df95>] irq_exit+0xb5/0xc0
[<ffffffff815fa5b3>] do_IRQ+0x63/0xe0
[<ffffffff815f0cea>] common_interrupt+0x6a/0x6a
<EOI>
[<ffffffff8131840a>] ? intel_idle+0xea/0x150
[<ffffffff813183eb>] ? intel_idle+0xcb/0x150
[<ffffffff814a1db9>] cpuidle_enter+0x19/0x20
[<ffffffff814a23d9>] cpuidle_idle_call+0xa9/0x240
[<ffffffff8101c4bf>] cpu_idle+0xaf/0x120
[<ffffffff815cda8e>] rest_init+0x72/0x74
[<ffffffff81cf4c1a>] start_kernel+0x3b7/0x3c4
[<ffffffff81cf4662>] ? repair_env_string+0x5e/0x5e
[<ffffffff81cf4346>] x86_64_start_reservations+0x131/0x135
[<ffffffff81cf444a>] x86_64_start_kernel+0x100/0x10f

Making sure bf is cleared to NULL in this case restores the
old behaviour.

Signed-off-by: Tom Hughes <tom@compton.nu>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-06-27 14:48:13 -04:00
..
ahb.c
ani.c ath9k: reset noiseimmunity level to default 2012-04-16 14:38:44 -04:00
ani.h ath9k_hw: improve ANI processing and rx desensitizing parameters 2012-04-09 16:05:52 -04:00
ar5008_initvals.h
ar5008_phy.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
ar9001_initvals.h ath9k_hw: remove duplicate initvals 2012-02-27 14:05:41 -05:00
ar9002_calib.c
ar9002_hw.c ath9k: inline AR9271 1.0 INI overrides 2012-03-15 13:45:08 -04:00
ar9002_initvals.h ath9k: inline AR9271 1.0 INI overrides 2012-03-15 13:45:08 -04:00
ar9002_mac.c ath9k: Gather and report IRQ sync_cause errors. 2012-04-16 14:16:58 -04:00
ar9002_phy.c ath9k: remove dead code 2012-04-12 15:10:32 -04:00
ar9002_phy.h ath9k: inline AR9271 1.0 INI overrides 2012-03-15 13:45:08 -04:00
ar9003_2p2_initvals.h ath9k_hw: Update rx gain initval to improve rx sensitivity 2012-04-09 16:05:56 -04:00
ar9003_calib.c ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
ar9003_eeprom.c ath9k_hw: apply internal regulator settings on AR933x 2012-05-29 13:45:23 -04:00
ar9003_eeprom.h ath9k_hw: apply internal regulator settings on AR933x 2012-05-29 13:45:23 -04:00
ar9003_hw.c ath9k_hw: Remove BTCOEX initvals 2012-04-13 14:32:50 -04:00
ar9003_mac.c ath9k: Gather and report IRQ sync_cause errors. 2012-04-16 14:16:58 -04:00
ar9003_mac.h ath9k: Fix descriptor length for AR9462 2012-02-27 14:05:44 -05:00
ar9003_mci.c ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
ar9003_mci.h ath9k_hw: Use CONFIG_ATH9K_BTCOEX_SUPPORT 2012-02-27 14:06:37 -05:00
ar9003_paprd.c ath9k: add an extra boolean parameter to ath9k_hw_apply_txpower 2012-04-23 14:56:11 -04:00
ar9003_phy.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
ar9003_phy.h ath9k_hw: increase symbol overlap window for half/quarter channels 2012-04-23 15:35:31 -04:00
ar9003_rtt.c ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
ar9003_rtt.h ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
ar9330_1p1_initvals.h ath9k_hw: update AR933x initvals to fix issues with high power devices 2012-05-29 13:45:22 -04:00
ar9330_1p2_initvals.h
ar9340_initvals.h
ar9462_2p0_initvals.h ath9k: fix ibss fair beacon distribution for AR9462 2012-04-16 14:38:41 -04:00
ar9485_initvals.h
ar9580_1p0_initvals.h
ath9k.h ath9k: fix invalid pointer access in the tx path 2012-06-19 14:56:24 -04:00
beacon.c ath9k: simplify beacon configuration for beaconing vifs 2012-04-23 15:35:30 -04:00
btcoex.c ath9k_hw: remove ATH_BTCOEX_CFG_MCI 2012-04-23 15:35:30 -04:00
btcoex.h ath9k_hw: remove ATH_BTCOEX_CFG_MCI 2012-04-23 15:35:30 -04:00
calib.c ath9k: fix max noise floor threshold 2012-03-26 15:07:23 -04:00
calib.h ath9k_hw: fix a comment 2012-01-10 15:46:39 -05:00
common.c
common.h
debug.c ath9k: Gather and report IRQ sync_cause errors. 2012-04-16 14:16:58 -04:00
debug.h ath9k: Gather and report IRQ sync_cause errors. 2012-04-16 14:16:58 -04:00
dfs_debug.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_debug.h ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_pattern_detector.c ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
dfs_pattern_detector.h ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
dfs_pri_detector.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs_pri_detector.h ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
dfs.c ath9k: extend DFS detector stats in dfs_debugfs 2012-04-23 15:37:41 -04:00
dfs.h ath9k: update to DFS pattern detector interface 2012-04-11 16:23:54 -04:00
eeprom_4k.c
eeprom_9287.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
eeprom_def.c ath9k: introduce ath9k_hw_get_scaled_power helper 2012-04-16 14:38:53 -04:00
eeprom.c ath9k: move ath9k_hw_fbin2freq function to eeprom.h 2012-04-17 14:57:13 -04:00
eeprom.h ath9k: move ath9k_hw_fbin2freq function to eeprom.h 2012-04-17 14:57:13 -04:00
gpio.c ath9k_hw: remove ATH_BTCOEX_CFG_MCI 2012-04-23 15:35:30 -04:00
hif_usb.c USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
hif_usb.h ath9k_htc: Load firmware asynchronously 2012-01-30 15:48:42 -05:00
htc_drv_beacon.c
htc_drv_debug.c simple_open: automatically convert to simple_open() 2012-04-05 15:25:50 -07:00
htc_drv_gpio.c ath9k: Remove ATH_BTCOEX_CFG_NONE checks 2012-02-27 14:06:38 -05:00
htc_drv_init.c mac80211: don't always advertise remain-on-channel 2012-04-10 14:54:04 -04:00
htc_drv_main.c ath9k_htc: configure bssid on ASSOC/IBSS change 2012-06-20 14:10:26 -04:00
htc_drv_txrx.c
htc_hst.c ath: Add and use pr_fmt, convert printks to pr_<level> 2012-04-10 14:52:13 -04:00
htc_hst.h
htc.h ath9k_htc: Use CONFIG_ATH9K_BTCOEX_SUPPORT 2012-02-27 14:06:38 -05:00
hw-ops.h drivers/net: Remove boolean comparisons to true/false 2012-02-13 00:47:40 -05:00
hw.c ath9k: enable serialize_regmode for non-PCIE AR9287 2012-06-27 14:48:12 -04:00
hw.h ath9k_hw: Fix RTT calibration 2012-05-15 17:27:55 -04:00
init.c ath9k: add possible wiphy interface combinations 2012-04-23 15:28:33 -04:00
Kconfig ath9k: make MAC sample statistics optional 2012-03-07 13:51:38 -05:00
mac.c ath9k_hw: increase tx abort timeout for half/quarter channels 2012-04-23 15:35:32 -04:00
mac.h ath9k_hw: remove ath9k_hw_gettxintrtxqs 2012-03-15 13:45:04 -04:00
main.c ath9k: Fix softlockup in AR9485 2012-06-13 14:09:48 -04:00
Makefile ath9k: add DFS pattern detector 2012-04-11 16:23:52 -04:00
mci.c ath9k: Cleanup mci.c 2012-02-27 14:06:40 -05:00
mci.h ath9k_hw: Cleanup MCI bits from hw.h 2012-02-27 14:06:36 -05:00
pci.c ath: Add and use pr_fmt, convert printks to pr_<level> 2012-04-10 14:52:13 -04:00
phy.h
rc.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-04-12 13:49:28 -04:00
rc.h ath9k: completely zero intialize valid_phy_rate_idx 2012-03-05 15:23:14 -05:00
recv.c ath9k: fix panic caused by returning a descriptor we have queued for reuse 2012-06-27 14:48:13 -04:00
reg.h ath9k_hw: Fix enabling of MCI and RTT 2012-03-12 14:19:37 -04:00
wmi.c
wmi.h
xmit.c ath9k: fix invalid pointer access in the tx path 2012-06-19 14:56:24 -04:00