diff options
author | Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> | 2011-10-06 19:05:02 +0200 |
---|---|---|
committer | Philippe LANGLAIS <philippe.langlais@stericsson.com> | 2011-10-13 10:23:49 +0200 |
commit | 847817a7ac38983d030d87d4c1b38e379a26fe8e (patch) | |
tree | af0b449b8359ed45a234a377c0a81bde69a36653 /drivers/staging/cw1200/sta.c | |
parent | 5a3348f06558026c5c842112b83674e00903064c (diff) |
cw1200: Accurate reporting of TX status.
* Accurate reporting of TX status is implemented (needed for UAPSD and PSPOLL).
* Leaking of TX rate policies is fixed.
* skb destructor is implemented.
* Time to live for queued frames is implemented.
* cw1200_tx is split by separate TX handlers (like in mac80211).
* cw1200_skb_to_wsm is not existing anymore.
* BT coex: null frames are prioritized as management frames.
* Debug: added printing of rate policies in use.
ST-Ericsson ID: 354950
ST-Ericsson ID: 360749
Change-Id: I920d398418df99c21b37a16ef16591e58a82151d
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33542
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.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/cw1200/sta.c b/drivers/staging/cw1200/sta.c index b6ea70f3418..1ba769df65d 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], priv); + cw1200_queue_clear(&priv->tx_queue[i]); /* HACK! */ if (atomic_xchg(&priv->tx_lock, 1) != 1) @@ -760,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], priv); + cw1200_queue_clear(&priv->tx_queue[i]); } else { ret = wait_event_timeout( priv->tx_queue_stats.wait_link_id_empty, @@ -1136,7 +1136,7 @@ void cw1200_join_work(struct work_struct *work) bssid, NULL, 0, 0, 0); if (!bss) { cw1200_queue_remove(&priv->tx_queue[queueId], - priv, __le32_to_cpu(wsm->packetID)); + __le32_to_cpu(wsm->packetID)); wsm_unlock_tx(priv); return; } @@ -1211,7 +1211,7 @@ void cw1200_join_work(struct work_struct *work) memset(&priv->join_bssid[0], 0, sizeof(priv->join_bssid)); cw1200_queue_remove(&priv->tx_queue[queueId], - priv, __le32_to_cpu(wsm->packetID)); + __le32_to_cpu(wsm->packetID)); cancel_delayed_work_sync(&priv->join_timeout); cw1200_update_listening(priv, priv->listening); } else { |