linux/drivers/net/wireless
Ido Yariv 2da69b890f wl12xx: Switch to level trigger interrupts
The interrupt of the wl12xx is a level interrupt in nature, since the
interrupt line is not auto-reset. However, since resetting the interrupt
requires bus transactions, this cannot be done from an interrupt
context. Thus, requesting a level interrupt would require to disable the
irq and re-enable it after the HW is acknowledged. Since we now request
a threaded irq, this can also be done by specifying the IRQF_ONESHOT
flag.

Triggering on an edge can be problematic in some platforms, if the
sampling frequency is not sufficient for detecting very frequent
interrupts. In case an interrupt is missed, the driver will hang as the
interrupt line will stay high until it is acknowledged by the driver,
which will never happen.

Fix this by requesting a level triggered interrupt, with the
IRQF_ONESHOT flag.

Signed-off-by: Ido Yariv <ido@wizery.com>
Reviewed-by: Luciano Coelho <coelho@ti.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-03-03 16:10:46 +02:00
..
ath ath9k_htc: Handle BSSID/AID for multiple interfaces 2011-03-01 13:48:21 -05:00
b43 b43: N-PHY: rev3+: add static tables 2011-03-01 13:48:22 -05:00
b43legacy mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
hostap hostap_cs: fix sleeping function called from invalid context 2011-01-10 15:40:53 -05:00
ipw2x00 drivers:net:ipw2100.c change a typo comamnd to command 2011-02-03 16:45:29 -05:00
iwlegacy iwlegacy: fix dma mappings and skbs leak 2011-02-28 14:06:56 -05:00
iwlwifi iwlwifi: move remaining iwl-agn-rx.c code into iwl-rx.c 2011-02-28 14:11:36 -05:00
iwmc3200wifi Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2011-01-28 16:23:14 -05:00
libertas libertas: Prepare stuff for if_spi.c pm support 2011-02-03 16:38:26 -05:00
libertas_tf mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
orinoco orinoco: Drop scan results with unknown channels 2011-02-25 15:33:38 -05:00
p54 p54: fix a NULL pointer dereference bug 2011-02-28 14:06:54 -05:00
prism54
rt2x00 mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
rtl818x mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
rtlwifi rtlwifi: Fix error registering rate-control 2011-03-01 13:48:22 -05:00
wl12xx wl12xx: Switch to level trigger interrupts 2011-03-03 16:10:46 +02:00
wl1251 mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
zd1211rw mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
adm8211.c mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
adm8211.h
airo_cs.c
airo.c airo: use simple_write_to_buffer 2011-01-04 14:35:12 -05:00
airo.h
at76c50x-usb.c at76c50x-usb: fix warning caused by at76_mac80211_tx now returning void 2011-02-28 13:57:30 -05:00
at76c50x-usb.h
atmel_cs.c
atmel_pci.c
atmel.c
atmel.h
Kconfig iwlwifi: split the drivers for agn and legacy devices 3945/4965 2011-02-21 11:27:26 -08:00
mac80211_hwsim.c mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
Makefile rtlwifi: Fix build when RTL8192CU is selected, but RTL8192CE is not 2011-02-23 16:25:30 -05:00
mwl8k.c mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c rndis_wlan: add support for set_power_mgmt 2010-12-22 15:43:31 -05:00
wl3501_cs.c
wl3501.h
zd1201.c
zd1201.h