OpenCloudOS-Kernel/drivers/net/wireless
Ivo van Doorn cd35a39121 rt2x00: Cleanup rt2x00usb_watchdog_reset_tx
rt2x00usb_watchdog_reset_tx performs the same task
as rt2x00usb_kill_tx_queue, with the only difference
is that it waits for all entries to be returned to
the driver and for all frames the status has been
reported to mac80211.

We can easily split this task by calling rt2x00usb_kill_tx_queue,
sleep for a short period and invoke the TX status reporting
function. By adding the sleep() to the kill_entry we make sure
that even during shutdown we guarentee the entry has been killed when
the function returns. To make this work correctly the interrupt
handlers have to be updated to prevent checking for the RADIO_ENABLED
flag too early which prevents the ownership of the entry to be reset.
Additionally a check for the DEVICE_PRESENT flag is not required but
is nice to prevent race conditions when the device was unplugged.

Additionally rather then calling rt2x00usb_work_txdone() for
status reporting we let the driver perform the TX status reporting
first. If this is not sufficient then rt2x00usb_work_txdone() will
still be used to cleanup the mess.

Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Acked-by: Gertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-08-31 14:22:25 -04:00
..
ath ath9k: fix spurious MIC failure reports 2010-08-31 14:22:23 -04:00
b43 b43: N-PHY: add missing phyrxchain setting and fix warning in RX core function 2010-08-25 14:33:20 -04:00
b43legacy b43legacy: update hw/fw version info in wiphy struct 2010-08-16 14:39:45 -04:00
hostap Hostap: Fix "'ret' set but not used" warning message from GCC in hostap 2010-08-24 16:28:20 -04:00
ipw2x00 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-08-24 16:35:40 -04:00
iwlwifi iwlwifi: allow using multiple contexts 2010-08-27 09:49:38 -07:00
iwmc3200wifi iwm3200wifi: remove comparison to WIFI_IF_NTFY_MAX in iwm_ntf_wifi_if_wrapper 2010-08-16 14:39:48 -04:00
libertas drivers/net/wireless/libertas/cfg.c: needs sched.h 2010-08-16 16:45:23 -04:00
libertas_tf libertas_tf: if_usb.c: Some more formatting fixes 2010-08-16 15:26:37 -04:00
orinoco orinoco: Fix walking past the end of the buffer 2010-08-25 14:33:17 -04:00
p54 p54: better rssi->dbm conversion for longbow phys 2010-08-25 14:34:56 -04:00
prism54 drivers/net/wireless/prism54: Adjust confusing if indentation 2010-08-16 15:26:41 -04:00
rt2x00 rt2x00: Cleanup rt2x00usb_watchdog_reset_tx 2010-08-31 14:22:25 -04:00
rtl818x Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-08-24 16:35:40 -04:00
wl12xx wl1251: Fix queue stopping/waking for TX path 2010-08-31 14:20:40 -04:00
zd1211rw zd1211rw: update fw version info in wiphy struct 2010-08-16 14:39:45 -04:00
Kconfig
Makefile
adm8211.c drivers/net/wireless: Restore upper case words in wiphy_<level> messages 2010-08-18 16:37:44 -04:00
adm8211.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
airo.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/holtmann/bluetooth-next-2.6 2010-07-27 11:59:19 -04:00
airo.h
airo_cs.c
at76c50x-usb.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-08-24 16:35:40 -04:00
at76c50x-usb.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2010-07-01 17:34:14 -07:00
atmel.c
atmel.h
atmel_cs.c
atmel_pci.c
mac80211_hwsim.c mac80211_hwsim: support runtime iftype changes 2010-08-27 13:53:31 -04:00
mwl8k.c drivers/net/wireless: Restore upper case words in wiphy_<level> messages 2010-08-18 16:37:44 -04:00
ray_cs.c wireless: use newly introduced hex_to_bin() 2010-07-23 12:50:51 -07:00
ray_cs.h
rayctl.h
rndis_wlan.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2010-07-01 17:34:14 -07:00
wl3501.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
wl3501_cs.c
zd1201.c
zd1201.h