summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>2011-05-30 16:21:05 +0200
committerPhilippe LANGLAIS <philippe.langlais@stericsson.com>2011-06-22 11:29:13 +0200
commit766c214fa70daaced6153f5e778655c143abcaf0 (patch)
tree6ac04c59797c32febabf23e1ead496877ad14f63
parentb63eb7bfbab15655aee203e749dbfc2330c33160 (diff)
cw1200: Support of WSM293+ firmware in STA mode.
WSM299 firmware is more strict in terms of when driver is allowed to send "Set PM" request. Change is done to move power management after join. Change-Id: I211ab9cf9ad3dc40f551e1b09f7b3d9179e02c74 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/24297 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: Janusz DZIEDZIC <janusz.dziedzic@tieto.com> Reviewed-by: Robert MARKLUND <robert.marklund@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/25616 Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
-rw-r--r--drivers/staging/cw1200/sta.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c
index 8f1c59a6766..2de6156e100 100644
--- a/drivers/staging/cw1200/sta.c
+++ b/drivers/staging/cw1200/sta.c
@@ -287,7 +287,8 @@ int cw1200_config(struct ieee80211_hw *dev, u32 changed)
priv->powersave_mode.pmMode =
(conf->flags & IEEE80211_CONF_PS) ?
WSM_PSM_PS : WSM_PSM_ACTIVE;
- WARN_ON(wsm_set_pm(priv, &priv->powersave_mode));
+ if (priv->join_status == CW1200_JOIN_STATUS_STA)
+ WARN_ON(wsm_set_pm(priv, &priv->powersave_mode));
}
if (changed & IEEE80211_CONF_CHANGE_MONITOR) {
@@ -1065,6 +1066,7 @@ void cw1200_join_work(struct work_struct *work)
cancel_delayed_work_sync(&priv->keep_alive_work);
#endif /* CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE */
cw1200_update_listening(priv, priv->listening);
+ WARN_ON(wsm_set_pm(priv, &priv->powersave_mode));
} else {
WARN_ON(cw1200_upload_keys(priv));
#if !defined(CW1200_FIRMWARE_DOES_NOT_SUPPORT_KEEPALIVE)