android_kernel_xiaomi_sm8350/drivers/net/wireless
Ivo van Doorn 0262ab0df6 rt2x00: Fix race conditions in flag handling
Some of the flags should be accessed atomically to
prevent race conditions. The flags that are most important
are those that can change often and indicate the actual
state of the device, queue or queue entry.

The big flag rename was done to move all state flags to
the same naming type as the other rt2x00dev flags and
made sure all places where the flags were used were changed. ;)

Thanks to Stephen for most of the queue flags updates,
which fixes some of the most obvious consequences of the
race conditions. Among those the notorious:

rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.
rt2x00queue_write_tx_frame: Error - Arrived at non-free entry in the non-full queue 0.

Signed-off-by: Stephen Blackheath <tramp.enshrine.stephen@blacksapphire.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-08-29 16:24:11 -04:00
..
ath5k ath5k: set short preamble flag for rx 2008-08-22 16:29:59 -04:00
ath9k ath9k: rc.h cleanup 2008-08-29 16:24:10 -04:00
b43 removed unused #include <version.h> 2008-08-18 11:05:15 -04:00
b43legacy wireless: remove unused #include <version.h> 2008-08-29 16:24:08 -04:00
hostap netdev: Handle ->addr_list_lock just like ->_xmit_lock for lockdep. 2008-07-22 14:16:42 -07:00
iwlwifi wireless: remove unused #include <version.h> 2008-08-29 16:24:08 -04:00
libertas libertas: convert adhoc operations to direct commands 2008-08-29 16:24:07 -04:00
libertas_tf libertas: use the common frame control functions 2008-08-29 16:24:11 -04:00
p54 p54pci: rx tasklet refactoring 2008-08-29 16:24:09 -04:00
prism54 wireless: replace __FUNCTION__ with __func__ 2008-08-22 16:29:56 -04:00
rt2x00 rt2x00: Fix race conditions in flag handling 2008-08-29 16:24:11 -04:00
zd1211rw mac80211: remove IEEE80211_HW_HOST_GEN_BEACON_TEMPLATE flag 2008-07-29 16:36:24 -04:00
adm8211.c
adm8211.h
airo_cs.c
airo.c wireless: replace __FUNCTION__ with __func__ 2008-08-22 16:29:56 -04:00
airo.h
airport.c orinoco: Invoke firmware download in main driver 2008-08-22 19:28:05 -04:00
arlan-main.c
arlan-proc.c
arlan.h
atmel_cs.c
atmel_pci.c
atmel.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
atmel.h
hermes_dld.c orinoco: Extend hermes_dld routines for Agere firmware 2008-08-22 19:28:05 -04:00
hermes_dld.h orinoco: Extend hermes_dld routines for Agere firmware 2008-08-22 19:28:05 -04:00
hermes_rid.h orinoco: Add WE-18 ioctls for WPA 2008-08-22 19:28:06 -04:00
hermes.c orinoco: Add function to execute Hermes initialisation commands synchronously 2008-08-22 19:28:04 -04:00
hermes.h orinoco: Add MIC on TX and check on RX 2008-08-22 19:28:07 -04:00
i82586.h
i82593.h
ipw2100.c wireless: replace __FUNCTION__ with __func__ 2008-08-22 16:29:56 -04:00
ipw2100.h
ipw2200.c removed unused #include <version.h> 2008-08-18 11:05:15 -04:00
ipw2200.h wireless: replace __FUNCTION__ with __func__ 2008-08-22 16:29:56 -04:00
Kconfig orinoco: Add MIC on TX and check on RX 2008-08-22 19:28:07 -04:00
mac80211_hwsim.c mac80211_hwsim: Add minimal IEEE 802.11n support 2008-08-29 16:24:07 -04:00
Makefile orinoco: Move firmware download functionality into new module 2008-08-22 19:28:04 -04:00
netwave_cs.c
orinoco_cs.c orinoco: Invoke firmware download in main driver 2008-08-22 19:28:05 -04:00
orinoco_nortel.c orinoco: Invoke firmware download in main driver 2008-08-22 19:28:05 -04:00
orinoco_pci.c orinoco: Invoke firmware download in main driver 2008-08-22 19:28:05 -04:00
orinoco_pci.h
orinoco_plx.c orinoco: Invoke firmware download in main driver 2008-08-22 19:28:05 -04:00
orinoco_tmd.c orinoco: Invoke firmware download in main driver 2008-08-22 19:28:05 -04:00
orinoco.c orinoco: Add MIC on TX and check on RX 2008-08-22 19:28:07 -04:00
orinoco.h orinoco: Add MIC on TX and check on RX 2008-08-22 19:28:07 -04:00
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c
rtl818x.h rtl818x: merge tx/rx descriptor flags 2008-08-22 16:29:48 -04:00
rtl8180_dev.c rtl818x: merge tx/rx descriptor flags 2008-08-22 16:29:48 -04:00
rtl8180_grf5101.c
rtl8180_grf5101.h
rtl8180_max2820.c
rtl8180_max2820.h
rtl8180_rtl8225.c
rtl8180_rtl8225.h
rtl8180_sa2400.c
rtl8180_sa2400.h
rtl8180.h rtl818x: merge tx/rx descriptor flags 2008-08-22 16:29:48 -04:00
rtl8187_dev.c rtl818x: merge tx/rx descriptor flags 2008-08-22 16:29:48 -04:00
rtl8187_rtl8225.c
rtl8187_rtl8225.h
rtl8187.h rtl818x: merge tx/rx descriptor flags 2008-08-22 16:29:48 -04:00
spectrum_cs.c orinoco: Invoke firmware download in main driver 2008-08-22 19:28:05 -04:00
strip.c Fix strip driver back up for ldisc/tty changes 2008-07-20 17:12:38 -07:00
wavelan_cs.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
wavelan_cs.h
wavelan_cs.p.h
wavelan.c [netdrvr] Drivers should not set IFF_* flag themselves 2008-08-07 02:23:19 -04:00
wavelan.h
wavelan.p.h
wl3501_cs.c wireless: replace __FUNCTION__ with __func__ 2008-08-22 16:29:56 -04:00
wl3501.h
zd1201.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
zd1201.h