summaryrefslogtreecommitdiff
path: root/drivers/staging/cw1200/sta.c
diff options
context:
space:
mode:
authorDmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>2011-10-05 09:29:01 +0200
committerPhilippe LANGLAIS <philippe.langlais@stericsson.com>2011-10-13 10:23:25 +0200
commit5a3348f06558026c5c842112b83674e00903064c (patch)
tree1bf2ffa5c77ad60ee487364a62978cbd08b818b0 /drivers/staging/cw1200/sta.c
parent868040fa7b15aa1adf7af925f89dfa6c3b0b7a3c (diff)
cw1200: AP PS refactoring.
* buffered_multicasts_lock was renamed to ps_state_lock. Previous name was quite confusive. * Per-STA rx_queue was created for early RX-ed frames. Not that we really need these frames, but PM status they are holding is important. * priv->tx_suspend_mask was removed, driver is not using it. It was intended for UAPSD and is not needed in current implementation on mac80211. * Fix: cw1200_queue_unlock() was not called from cw1200_queue_clear() when queue was internally locked. ST-Ericsson ID: 360749 Change-Id: I61346db485d34f761d80af786b716d8c73e8b600 Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33541 Reviewed-by: Bartosz MARKOWSKI <bartosz.markowski@tieto.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
Diffstat (limited to 'drivers/staging/cw1200/sta.c')
-rw-r--r--drivers/staging/cw1200/sta.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c
index ecfdc7562f3..b6ea70f3418 100644
--- a/drivers/staging/cw1200/sta.c
+++ b/drivers/staging/cw1200/sta.c
@@ -136,7 +136,7 @@ void cw1200_stop(struct ieee80211_hw *dev)
priv->join_status = CW1200_JOIN_STATUS_PASSIVE;
for (i = 0; i < 4; i++)
- cw1200_queue_clear(&priv->tx_queue[i]);
+ cw1200_queue_clear(&priv->tx_queue[i], priv);
/* HACK! */
if (atomic_xchg(&priv->tx_lock, 1) != 1)
@@ -215,8 +215,6 @@ void cw1200_remove_interface(struct ieee80211_hw *dev,
}
memset(priv->link_id_db, 0,
sizeof(priv->link_id_db));
- memset(priv->tx_suspend_mask, 0,
- sizeof(priv->tx_suspend_mask));
priv->sta_asleep_mask = 0;
priv->enable_beacon = false;
priv->tx_multicast = false;
@@ -762,7 +760,7 @@ int __cw1200_flush(struct cw1200_common *priv, bool drop)
*/
if (drop) {
for (i = 0; i < 4; ++i)
- cw1200_queue_clear(&priv->tx_queue[i]);
+ cw1200_queue_clear(&priv->tx_queue[i], priv);
} else {
ret = wait_event_timeout(
priv->tx_queue_stats.wait_link_id_empty,