diff options
author | Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> | 2011-05-30 16:21:05 +0200 |
---|---|---|
committer | Philippe LANGLAIS <philippe.langlais@stericsson.com> | 2011-06-22 11:29:13 +0200 |
commit | 766c214fa70daaced6153f5e778655c143abcaf0 (patch) | |
tree | 6ac04c59797c32febabf23e1ead496877ad14f63 | |
parent | b63eb7bfbab15655aee203e749dbfc2330c33160 (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.c | 4 |
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) |