2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-28 23:23:55 +08:00
linux-next/drivers/net/wireless
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
..
ath ath9k: fix panic caused by returning a descriptor we have queued for reuse 2012-06-27 14:48:13 -04:00
b43 b43: do not call ieee80211_unregister_hw if we are not registred 2012-06-08 13:47:06 -04:00
b43legacy ssb: remove rev from boardinfo 2012-05-16 12:45:20 -04:00
brcm80211 brcmfmac: Fix likely misuse of | for & 2012-06-04 15:26:11 -04:00
hostap net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
ipw2x00 net/wireless: ipw2100: Fix WARN_ON occurring in wiphy_register called by ipw2100_pci_init_one 2012-06-08 13:43:57 -04:00
iwlegacy drivers/net: Convert compare_ether_addr to ether_addr_equal 2012-05-10 23:33:01 -04:00
iwlwifi iwlwifi: fix activating inactive stations 2012-06-25 15:14:13 -04:00
iwmc3200wifi drivers/net: iwmc3200 depends on EXPERIMENTAL 2012-04-21 15:28:47 -04:00
libertas USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
libertas_tf USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
mwifiex mwifiex: improve error path handling in usb.c 2012-06-22 13:59:50 -04:00
orinoco USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
p54 USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
prism54 prism54: replace open-coded ARRAY_SIZE with macro 2012-04-12 15:10:47 -04:00
rt2x00 rt2x00: use atomic variable for seqno 2012-06-04 15:26:26 -04:00
rtl818x rtl8187: ->brightness_set can not sleep 2012-06-08 13:43:57 -04:00
rtlwifi rtlwifi: rtl8192cu: New USB IDs 2012-06-27 14:48:12 -04:00
ti wlcore: drop INET dependency 2012-06-25 15:14:13 -04:00
zd1211rw USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
adm8211.c net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
adm8211.h
airo_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
airo.c airo: copying wrong data in airo_get_aplist() 2012-06-19 14:56:26 -04:00
airo.h
at76c50x-usb.c USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
at76c50x-usb.h
atmel_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
atmel_pci.c net/wireless: use module_pci_driver 2012-04-16 14:38:50 -04:00
atmel.c wireless, atmel: remove pointless test for NULL before release_firmware() call 2012-04-12 15:06:07 -04:00
atmel.h
Kconfig wireless/wl12xx/wl1251: move TI WLAN modules to a common ti subdirectory 2012-04-12 08:43:55 +03:00
mac80211_hwsim.c mac80211_hwsim: Set IEEE80211_STAT_ACK flag when userspace indicates that the frame has been acknowledged. 2012-06-08 13:43:58 -04:00
mac80211_hwsim.h
Makefile wireless/wl12xx/wl1251: move TI WLAN modules to a common ti subdirectory 2012-04-12 08:43:55 +03:00
mwl8k.c drivers/net: Convert compare_ether_addr to ether_addr_equal 2012-05-10 23:33:01 -04:00
ray_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: fix matching bssid check in rndis_check_bssid_list() 2012-06-11 14:29:15 -04:00
wl3501_cs.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
wl3501.h
zd1201.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
zd1201.h