diff options
author | Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com> | 2011-10-12 12:01:37 +0200 |
---|---|---|
committer | Philippe LANGLAIS <philippe.langlais@stericsson.com> | 2011-10-13 10:26:32 +0200 |
commit | c41d02b68fb0b1299e4e2bc73b6ce409210d725b (patch) | |
tree | 8ade9f8514c7e588ca9ab3daa5632cfc57d0b723 /drivers/staging/cw1200/wsm.c | |
parent | 1cd0b078e3beff5a4c5b6dfe134e38653f4f0483 (diff) |
cw1200: Fixing corrupted direct probe requests.
Direct probe used shared SKB buffer after headers were stripped by
mac80211 layer.
Fix reimplements (and significantly simplifies) direct probe handling,
using the same technique as for other "special" frames.
Change-Id: Ibec9b72ccb497ae385d315b68001c5e23ef05701
Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/33775
Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
Diffstat (limited to 'drivers/staging/cw1200/wsm.c')
-rw-r--r-- | drivers/staging/cw1200/wsm.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/drivers/staging/cw1200/wsm.c b/drivers/staging/cw1200/wsm.c index 295b13f5676..a8c49494e49 100644 --- a/drivers/staging/cw1200/wsm.c +++ b/drivers/staging/cw1200/wsm.c @@ -1403,17 +1403,7 @@ static bool wsm_handle_tx_data(struct cw1200_common *priv, wsm_printk(KERN_DEBUG \ "[WSM] Convert probe request to scan.\n"); wsm_lock_tx_async(priv); - BUG_ON(priv->scan.probe_skb); - BUG_ON(cw1200_queue_get_skb(queue, - wsm->packetID, - &priv->scan.probe_skb, - &txpriv)); - skb_get(priv->scan.probe_skb); - IEEE80211_SKB_CB(priv->scan.probe_skb)->flags |= - IEEE80211_TX_STAT_ACK; - BUG_ON(cw1200_queue_remove(queue, - __le32_to_cpu(wsm->packetID))); - /* Release used TX rate policy */ + priv->pending_frame_id = __le32_to_cpu(wsm->packetID); queue_delayed_work(priv->workqueue, &priv->scan.probe_work, 0); handled = true; |