summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-power.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2011-07-15 13:23:45 -0700
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2011-07-21 07:31:31 -0700
commitc8ac61cf6e53fefb3b439fc58390fb65d2730e63 (patch)
tree2896810ca3ccb2bd221d4b0b2d488bd0e7c55955 /drivers/net/wireless/iwlwifi/iwl-power.c
parent5a3d9882b84edf5fa8e8ca33a5d6df25e2e727a5 (diff)
downloadop-kernel-dev-c8ac61cf6e53fefb3b439fc58390fb65d2730e63.zip
op-kernel-dev-c8ac61cf6e53fefb3b439fc58390fb65d2730e63.tar.gz
iwlagn: implement WoWLAN
Implement WoWLAN support in iwlagn. The device supports a number of wakeup triggers and can do GTK rekeying when asleep (if HW crypto is used). Unfortunately, we need to disconnect from the AP after resume since we can't yet get all the info out of the wowlan uCode to stay connected safely. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-power.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-power.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-power.c b/drivers/net/wireless/iwlwifi/iwl-power.c
index de4f333..3ec619c 100644
--- a/drivers/net/wireless/iwlwifi/iwl-power.c
+++ b/drivers/net/wireless/iwlwifi/iwl-power.c
@@ -347,7 +347,9 @@ static void iwl_power_build_cmd(struct iwl_priv *priv,
dtimper = priv->hw->conf.ps_dtim_period ?: 1;
- if (priv->hw->conf.flags & IEEE80211_CONF_IDLE)
+ if (priv->wowlan)
+ iwl_static_sleep_cmd(priv, cmd, IWL_POWER_INDEX_5, dtimper);
+ else if (priv->hw->conf.flags & IEEE80211_CONF_IDLE)
iwl_static_sleep_cmd(priv, cmd, IWL_POWER_INDEX_5, 20);
else if (iwl_tt_is_low_power_state(priv)) {
/* in thermal throttling low power state */
OpenPOWER on IntegriCloud