android_kernel_motorola_sm6225/drivers/net/wireless
Grazvydas Ignotas 5f6722ee63 wl1251: fix elp_work race condition
While working on PS I've noticed elp_work is kicking rather often, and
sometimes the chip is put to sleep before 5ms delay expires. This
seems to happen because by the time wl1251_ps_elp_wakeup is called
elp_work might still be pending. After wakeup is done, the processing
may take some time, during which 5ms might expire and elp_work might
get scheduled. In this case, ss soon as 1st thread finishes work and
releases the mutex, elp_work will then put the device to sleep without
5ms delay. In addition 1st thread will queue additional elp_work
needlessly.

Fix this by cancelling work in wl1251_ps_elp_wakeup instead.

Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Kalle Valo <kvalo@adurom.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-03-11 14:15:35 -05:00
..
ath ath5k: restrict AR5K_TX_QUEUE_ID_DATA_MAX to reflect the [0,3] range 2011-03-09 16:10:57 -05:00
b43 b43: trivial: update B43_PHY_N description (PHY support) 2011-03-07 13:51:04 -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 ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition 2011-03-09 16:10:56 -05:00
iwlegacy iwlegacy: fix dma mappings and skbs leak 2011-02-28 14:06:56 -05:00
iwlwifi iwlwifi: fix iwl-rx.c compilation 2011-03-07 13:51:04 -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 ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition 2011-03-09 16:10:56 -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 p54spi: Update kconfig help text 2011-03-07 13:51:04 -05:00
prism54 tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
rt2x00 rt2x00: Remove unused rt2x00queue_get_queue function. 2011-03-04 14:06:49 -05:00
rtl818x rtl8187: Change rate-control feedback 2011-03-04 14:05:17 -05:00
rtlwifi rtlwifi: usb parts should depend on CONFIG_USB 2011-03-04 14:05:16 -05:00
wl12xx ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition 2011-03-09 16:10:56 -05:00
wl1251 wl1251: fix elp_work race condition 2011-03-11 14:15:35 -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.c airo: use simple_write_to_buffer 2011-01-04 14:35:12 -05:00
airo.h
airo_cs.c
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 ieee80211: add IEEE80211_COUNTRY_STRING_LEN definition 2011-03-09 16:10:56 -05:00
atmel.c atmel: Use static const 2010-11-22 15:58:46 -05:00
atmel.h
atmel_cs.c
atmel_pci.c
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 mwl8k: use kcalloc instead of kmalloc & memset 2011-03-09 16:10:45 -05:00
ray_cs.c wireless: ray_cs: use '%pm' format option to print MAC 2010-12-02 15:17:00 -05:00
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.h
wl3501_cs.c tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
zd1201.c wireless: Remove unnecessary casts of usb_get_intfdata 2010-12-02 15:16:47 -05:00
zd1201.h