linux/drivers/net/wireless/wl12xx
Ido Yariv 11251e7e5c wl12xx: Don't rely on runtime PM for toggling power
Runtime PM might not always be enabled. Even if it is enabled in the
running kernel, it can still be temporarily disabled, for instance
during suspend. Runtime PM is opportunistic in nature, and should not be
relied on for toggling power.

In case the interface is removed and re-added while runtime PM is
disabled, the FW will fail to boot, as it is mandatory to toggle power
between boots. For instance, this can happen during suspend in case one
of the devices fails to suspend before the MMC host suspends, but after
mac80211 was suspended. The interface will be removed and reactivated
without toggling the power.

Fix this by calling mmc_power_save_host/mmc_power_restore_host in
wl1271_sdio_power_on/off functions. It will toggle the power to the chip
even if runtime PM is disabled. The runtime PM functions should still be
called to make sure runtime PM does not opportunistically power the chip
off (e.g. after resuming from system suspend).

Signed-off-by: Ido Yariv <ido@wizery.com>
Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2011-03-03 16:10:45 +02:00
..
acx.c wl12xx: AP-mode - fix race condition on sta connection 2011-02-23 11:14:55 +02:00
acx.h wl12xx: AP-mode - fix race condition on sta connection 2011-02-23 11:14:55 +02:00
boot.c wl12xx: BA initiator support 2011-01-24 22:58:20 +02:00
boot.h wl1271: Add wl1271_load_firmware() and export some functions 2010-12-02 16:17:20 +02:00
cmd.c wl12xx: set supported_rates after association 2011-02-08 22:51:42 -02:00
cmd.h wl12xx: move to new firmware (6.1.3.50.49) 2011-02-08 22:51:42 -02:00
conf.h wl12xx: use the conf struct instead of macros for memory configuration 2011-02-08 22:51:42 -02:00
debugfs.c wl12xx: wrong values are returned in gpio_power_write() 2011-01-24 23:15:11 +02:00
debugfs.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
event.c wl12xx: move to new firmware (6.1.3.50.49) 2011-02-08 22:51:42 -02:00
event.h wl12xx: move to new firmware (6.1.3.50.49) 2011-02-08 22:51:42 -02:00
ini.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
init.c wl12xx: change type from u8 to int 2011-02-22 18:06:35 +02:00
init.h wl12xx: AP mode - init sequence 2011-01-24 22:11:48 +02:00
io.c wl1271: Add wl1271_load_firmware() and export some functions 2010-12-02 16:17:20 +02:00
io.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
Kconfig wl12xx: fix sdio_test kconfig/build errors 2011-02-21 15:39:56 -05:00
main.c mac80211: make tx() operation return void 2011-02-25 15:32:34 -05:00
Makefile wl12xx_sdio_test: rename files to match current style 2010-12-15 17:09:27 +02:00
ps.c wl12xx: AP-mode - management of links in PS-mode 2011-02-23 11:18:46 +02:00
ps.h wl12xx: AP-mode - management of links in PS-mode 2011-02-23 11:18:46 +02:00
reg.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
rx.c wl12xx: fix identification of beacon packets (debug) 2011-02-22 18:06:36 +02:00
rx.h wl12xx: use standard ALIGN() macro 2011-02-23 11:11:19 +02:00
scan.c wl1271: Fix setting of the hardware connection monitoring probe-req template 2010-11-26 15:33:41 +02:00
scan.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
sdio_test.c wl12xx_sdio_test: rename files to match current style 2010-12-15 17:09:27 +02:00
sdio.c wl12xx: Don't rely on runtime PM for toggling power 2011-03-03 16:10:45 +02:00
spi.c wl12xx: add missing MODULE_FIRMWARE statment for AP-mode FW 2011-01-24 22:58:18 +02:00
testmode.c wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
testmode.h wl1271: Change wl12xx Files Names 2010-11-22 16:45:09 +02:00
tx.c wl12xx: AP-mode - management of links in PS-mode 2011-02-23 11:18:46 +02:00
tx.h wl12xx: AP-mode - TX queue per link in AC 2011-02-23 11:14:56 +02:00
wl12xx_80211.h wl12xx: AP mode - init sequence 2011-01-24 22:11:48 +02:00
wl12xx_platform_data.c wl12xx: add platform data passing support 2010-09-21 11:04:57 -04:00
wl12xx.h wl12xx: fix the path to the wl12xx firmwares 2011-03-03 16:10:45 +02:00