linux/drivers/net/wireless
Bob Copeland 242ab7ad68 ath5k: fix SWI calibration interrupt storm
The calibration period is now invoked by triggering a software
interrupt from within the ISR by ath5k_hw_calibration_poll()
instead of via a timer.

However, the calibration interval isn't initialized before
interrupts are enabled, so we can have a situation where an
interrupt occurs before the interval is assigned, so the
interval is actually negative.  As a result, the ISR will
arm a software interrupt to schedule the tasklet, and then
rearm it when the SWI is processed, and so on, leading to a
softlockup at modprobe time.

Move the initialization order around so the calibration interval
is set before interrupts are active.  Another possible fix
is to schedule the tasklet directly from the poll routine,
but I think there are additional plans for the SWI.

Signed-off-by: Bob Copeland <me@bobcopeland.com>
Cc: stable@kernel.org
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-12-28 16:13:47 -05:00
..
ath ath5k: fix SWI calibration interrupt storm 2009-12-28 16:13:47 -05:00
b43 b43: Remove reset after fatal DMA error 2009-12-10 16:09:51 -05:00
b43legacy b43legacy: avoid PPC fault during resume 2009-12-04 13:28:50 -05:00
hostap Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-12-05 15:22:26 -08:00
ipw2x00 ipw2100: fix rebooting hang with driver loaded 2009-12-04 14:16:25 -05:00
iwlwifi drivers/net/wireless/iwlwifi/iwl-tx.c: fix gcc-3.4.5 warning 2009-12-21 11:32:22 -05:00
iwmc3200wifi iwmc3200wifi: Fix test of unsigned in iwm_ntf_stop_resume_tx() 2009-12-21 11:32:25 -05:00
libertas libertas: Remove carrier signaling from the scan code 2009-12-28 15:56:33 -05:00
libertas_tf libertas_tf_usb: declare MODULE_FIRMWARE 2009-11-11 15:23:53 -05:00
orinoco orinoco: fix GFP_KERNEL in orinoco_set_key with interrupts disabled 2009-12-28 15:55:47 -05:00
p54 cfg80211: convert bools into flags 2009-11-19 11:08:50 -05:00
prism54 drivers/net: request_irq - Remove unnecessary leading & from second arg 2009-11-18 23:29:17 -08:00
rt2x00 mac80211: fix peer HT capabilities 2009-12-21 11:32:27 -05:00
rtl818x rtl8187: add radio led and fix warnings on suspend 2009-12-10 16:09:51 -05:00
wl12xx wl1251: don't build null data template in wl1251_op_config() 2009-12-07 16:50:13 -05:00
zd1211rw zd1211rw: declare MODULE_FIRMWARE 2009-11-11 15:23:55 -05:00
adm8211.c drivers/net/adm8211.c: remove exceptional & on function name 2009-11-18 10:48:52 -08:00
adm8211.h mac80211: fix ADM8211_SYNCTL_RFtype define 2009-10-07 16:33:51 -04:00
airo_cs.c pcmcia: rework the irq_req_t typedef 2009-11-28 18:03:14 +01:00
airo.c airo: Fix integer overflow warning 2009-12-04 13:30:40 -05:00
airo.h
at76c50x-usb.c at76c50x-usb: Supply additional parameters to at76_start_monitor scan request 2009-11-11 17:09:17 -05:00
at76c50x-usb.h
atmel_cs.c pcmcia: rework the irq_req_t typedef 2009-11-28 18:03:14 +01:00
atmel_pci.c
atmel.c atmel: declare MODULE_FIRMWARE 2009-11-11 15:23:49 -05:00
atmel.h
Kconfig wireless: airo_cs needs WEXT_SPY 2009-10-30 16:50:38 -04:00
mac80211_hwsim.c cfg80211: convert bools into flags 2009-11-19 11:08:50 -05:00
Makefile netwave: move driver to staging 2009-10-30 16:50:34 -04:00
mwl8k.c mwl8k: don't complain about oversized beacons in FINALIZE_JOIN 2009-12-07 16:51:23 -05:00
ray_cs.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-12-05 15:22:26 -08:00
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: disable stall workaround 2009-11-23 17:05:40 -05:00
wl3501_cs.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-12-05 15:22:26 -08:00
wl3501.h
zd1201.c zd1201: declare MODULE_FIRMWARE 2009-11-11 15:23:54 -05:00
zd1201.h