linux-hardened/drivers/net/wireless/wl12xx
Juuso Oikarinen 90494a90be wl1271: Work around AP's with broken ps-poll functionality
Some AP's (such as Zyxel Prestige 600) have totally broken ps-poll
functionality. When powersave is enabled, these AP's will set the TIM bit for
a STA in beacons, but when the STA responds with a ps-poll, the AP does not
respond with data.

The wl1271 firmware is able to send an indication to the host, when this
problem occurs. This patch adds implementation, which temporarily disables
power-save in response to this indication, allowing the AP to transmit whatever
data it has buffered for the STA / whatever data is inbound at that time.

This patch does not make these AP's work reliably in PSM, but improves the
chances of inbound data getting through.

The side effect of this patch is increased power consumption when using a
faulty AP.

Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Teemu Paasikivi <ext-teemu.3.paasikivi@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-07-08 16:35:51 -04:00
..
Kconfig wl1271: the core wl1271 module shouldn't depend on SPI_MASTER 2010-06-02 16:13:35 -04:00
Makefile
wl12xx_80211.h
wl1251.h
wl1251_acx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wl1251_acx.h
wl1251_boot.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
wl1251_boot.h
wl1251_cmd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wl1251_cmd.h
wl1251_debugfs.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wl1251_debugfs.h
wl1251_event.c
wl1251_event.h
wl1251_init.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wl1251_init.h
wl1251_io.c
wl1251_io.h
wl1251_main.c wl12xx: Use MODULE_ALIAS macro at correct postion for SPI bus 2010-07-06 14:25:04 -04:00
wl1251_ps.c
wl1251_ps.h
wl1251_reg.h wl1251: read default MAC address from EEPROM when available 2010-04-16 15:32:00 -04:00
wl1251_rx.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
wl1251_rx.h
wl1251_sdio.c wl1251: fix ELP_CTRL register reads 2010-06-08 09:31:21 -04:00
wl1251_spi.c wl12xx: Use MODULE_ALIAS macro at correct postion for SPI bus 2010-07-06 14:25:04 -04:00
wl1251_spi.h
wl1251_tx.c
wl1251_tx.h
wl1271.h wl1271: Work around AP's with broken ps-poll functionality 2010-07-08 16:35:51 -04:00
wl1271_acx.c wl1271: Use the ARP configuration function from mac80211 2010-07-08 16:35:50 -04:00
wl1271_acx.h wl1271: Use the ARP configuration function from mac80211 2010-07-08 16:35:50 -04:00
wl1271_boot.c wl1271: Work around AP's with broken ps-poll functionality 2010-07-08 16:35:51 -04:00
wl1271_boot.h wl1271: Add sysfs file to retrieve HW PG-version and ROM-version 2010-05-07 14:57:18 -04:00
wl1271_cmd.c wl1271: Use all basic rates for ps-poll, instead of just the slowest 2010-07-08 16:35:51 -04:00
wl1271_cmd.h wl1271: Fix scan parameter handling for 5GHz 2010-06-02 16:13:37 -04:00
wl1271_conf.h wl1271: Work around AP's with broken ps-poll functionality 2010-07-08 16:35:51 -04:00
wl1271_debugfs.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
wl1271_debugfs.h
wl1271_event.c wl1271: Work around AP's with broken ps-poll functionality 2010-07-08 16:35:51 -04:00
wl1271_event.h wl1271: Work around AP's with broken ps-poll functionality 2010-07-08 16:35:51 -04:00
wl1271_ini.h wl1271: Add support for NVS files with 5GHz band parameters 2010-06-02 16:13:05 -04:00
wl1271_init.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-04-15 16:21:34 -04:00
wl1271_init.h
wl1271_io.c
wl1271_io.h wl1271: Fix 32 bit register read related endiannes bug 2010-05-07 14:57:18 -04:00
wl1271_main.c wl1271: Work around AP's with broken ps-poll functionality 2010-07-08 16:35:51 -04:00
wl1271_ps.c wl1271: Go to ELP in idle 2010-04-09 13:43:10 -04:00
wl1271_ps.h
wl1271_reg.h
wl1271_rx.c wl1271: Add TSF handling 2010-07-08 16:35:50 -04:00
wl1271_rx.h wl1271: Clean up RX rate reporting 2010-03-31 14:39:11 -04:00
wl1271_sdio.c wl1271: remove sdio ARM dependency 2010-06-02 16:02:54 -04:00
wl1271_spi.c wl12xx: Use MODULE_ALIAS macro at correct postion for SPI bus 2010-07-06 14:25:04 -04:00
wl1271_testmode.c wl1271: Add support for NVS files with 5GHz band parameters 2010-06-02 16:13:05 -04:00
wl1271_testmode.h
wl1271_tx.c wl1271: Flush TX buffers to air before going to idle 2010-06-02 16:13:35 -04:00
wl1271_tx.h wl1271: Flush TX buffers to air before going to idle 2010-06-02 16:13:35 -04:00