kernel-ark/drivers/net/wireless/ath/ath9k
Luis R. Rodriguez a08e7ade9d ath9k: fix assumptions for idle calls on suspend/resume
mac80211 will notify drivers when to go idle and ath9k
assumed that it would get further notifications for idle
states after a device stop() config call but as per agreed
semantics the idle state of the radio is left up to driver
after mac80211 issues the stop() callback. The driver is
resposnbile for ensuring the device remains idle after
that even between suspend / resume calls.

This fixes suspend/resume when you issue suspend and resume
twice on ath9k when ath9k_stop() was already called. We need
to put the radio to full sleep in order for resume to work
correctly.

What might seem fishy is we are turning the radio off
after resume. The reason why we do this is because we know
we should not have anything enabled after a mac80211 tells
us to stop(), if we resume and never get a start() we won't
get another stop() by mac80211 so to be safe always bring
the 802.11 device with the radio disabled after resume,
this ensures that if we suspend we already have the radio
disabled and only a start() will ever trigger it on.

Cc: stable@kernel.org
Cc: Paul Stewart <pstew@google.com>
Cc: Amod Bodas <amod.bodas@atheros.com>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-13 15:23:27 -05:00
..
ahb.c ath: Convert ath_print(.., ATH_DBG_FATAL to ath_err 2010-12-07 16:34:47 -05:00
ani.c ath9k_hw: Disable MRC CCK for AR9485 2010-12-07 16:54:23 -05:00
ani.h
ar5008_initvals.h
ar5008_phy.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
ar9001_initvals.h
ar9002_calib.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
ar9002_hw.c ath: Convert ath_print(.., ATH_DBG_FATAL to ath_err 2010-12-07 16:34:47 -05:00
ar9002_initvals.h
ar9002_mac.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
ar9002_phy.c
ar9002_phy.h
ar9003_2p2_initvals.h
ar9003_calib.c ath9k_hw: Add IQ cal changes for AR9485 2010-12-07 16:54:14 -05:00
ar9003_eeprom.c ath9k_hw: Configure power control only for the supported chains 2010-12-07 16:34:59 -05:00
ar9003_eeprom.h ath9k_hw: Add a helper function to get spur channel pointer from cal data for AR9003 family 2010-12-07 16:34:55 -05:00
ar9003_hw.c ath9k_hw: Initialize tx/rx gain table from initvals.h for AR9485 2010-12-07 16:34:51 -05:00
ar9003_mac.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
ar9003_mac.h
ar9003_paprd.c ath9k_hw: Setup paprd only for supported chains 2010-12-07 16:54:23 -05:00
ar9003_phy.c ath9k: Read spur channel information from eeprom for AR9485 2010-12-07 16:34:56 -05:00
ar9003_phy.h ath9k_hw: Setup paprd only for supported chains 2010-12-07 16:54:23 -05:00
ar9485_initvals.h ath9k_hw: Add initvals.h for AR9485 2010-12-07 16:34:50 -05:00
ath9k.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00
beacon.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
btcoex.c
btcoex.h
calib.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
calib.h
common.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
common.h ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
debug.c
debug.h
eeprom_4k.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
eeprom_9287.c ath9k_htc: Cleanup device identification 2010-12-07 17:08:06 -05:00
eeprom_def.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00
eeprom.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
eeprom.h
gpio.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
hif_usb.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00
hif_usb.h ath9k_htc: Cleanup device identification 2010-12-07 17:08:06 -05:00
htc_drv_beacon.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
htc_drv_gpio.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
htc_drv_init.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00
htc_drv_main.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00
htc_drv_txrx.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
htc_hst.c
htc_hst.h
htc.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00
hw-ops.h
hw.c ath9k_hw: warn if we cannot change the power to the chip 2010-12-08 15:38:46 -05:00
hw.h ath9k_htc: Cleanup device identification 2010-12-07 17:08:06 -05:00
init.c ath9k: Parse DTIM period from mac80211 2010-12-07 17:08:08 -05:00
Kconfig
mac.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00
mac.h
main.c ath9k: fix assumptions for idle calls on suspend/resume 2010-12-13 15:23:27 -05:00
Makefile
pci.c ath9k: fix assumptions for idle calls on suspend/resume 2010-12-13 15:23:27 -05:00
phy.h ath9k_hw: Find chansel of AR_PHY_65NM_CH0_SYNTH7 for AR9485 2010-12-07 16:34:55 -05:00
rc.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
rc.h
recv.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00
reg.h ath9k_htc: Cleanup device identification 2010-12-07 17:08:06 -05:00
virtual.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
wmi.c ath: Convert ath_print to ath_dbg 2010-12-07 16:34:48 -05:00
wmi.h
xmit.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-12-08 16:23:31 -05:00