aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2011-08-14 06:17:18 -0400
committerLuciano Coelho <coelho@ti.com>2011-08-22 05:35:26 -0400
commit79ebec76be4e7c2ebed9fb0b9510d10d599ed63e (patch)
treede11e90188ace483f21b622ab9aaaf8895d8d2cb /drivers/net/wireless/wl12xx
parenta7cba38471bd457db8c536c94073673f41ef66f4 (diff)
wl12xx: handle dummy packet event also in ap mode
Allow handling of DUMMY_PACKET_EVENT_ID also in ap mode. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx')
-rw-r--r--drivers/net/wireless/wl12xx/event.c2
-rw-r--r--drivers/net/wireless/wl12xx/tx.c12
2 files changed, 9 insertions, 5 deletions
diff --git a/drivers/net/wireless/wl12xx/event.c b/drivers/net/wireless/wl12xx/event.c
index 431ceae6c1c8..0bd7b020a420 100644
--- a/drivers/net/wireless/wl12xx/event.c
+++ b/drivers/net/wireless/wl12xx/event.c
@@ -291,7 +291,7 @@ static int wl1271_event_process(struct wl1271 *wl, struct event_mailbox *mbox)
291 wl1271_stop_ba_event(wl, mbox->rx_ba_allowed); 291 wl1271_stop_ba_event(wl, mbox->rx_ba_allowed);
292 } 292 }
293 293
294 if ((vector & DUMMY_PACKET_EVENT_ID) && !is_ap) { 294 if ((vector & DUMMY_PACKET_EVENT_ID)) {
295 wl1271_debug(DEBUG_EVENT, "DUMMY_PACKET_ID_EVENT_ID"); 295 wl1271_debug(DEBUG_EVENT, "DUMMY_PACKET_ID_EVENT_ID");
296 if (wl->vif) 296 if (wl->vif)
297 wl1271_tx_dummy_packet(wl); 297 wl1271_tx_dummy_packet(wl);
diff --git a/drivers/net/wireless/wl12xx/tx.c b/drivers/net/wireless/wl12xx/tx.c
index ffdaf97854cb..a2dbbadd58f0 100644
--- a/drivers/net/wireless/wl12xx/tx.c
+++ b/drivers/net/wireless/wl12xx/tx.c
@@ -821,10 +821,14 @@ void wl1271_tx_reset_link_queues(struct wl1271 *wl, u8 hlid)
821 total[i] = 0; 821 total[i] = 0;
822 while ((skb = skb_dequeue(&wl->links[hlid].tx_queue[i]))) { 822 while ((skb = skb_dequeue(&wl->links[hlid].tx_queue[i]))) {
823 wl1271_debug(DEBUG_TX, "link freeing skb 0x%p", skb); 823 wl1271_debug(DEBUG_TX, "link freeing skb 0x%p", skb);
824 info = IEEE80211_SKB_CB(skb); 824
825 info->status.rates[0].idx = -1; 825 if (!wl12xx_is_dummy_packet(wl, skb)) {
826 info->status.rates[0].count = 0; 826 info = IEEE80211_SKB_CB(skb);
827 ieee80211_tx_status_ni(wl->hw, skb); 827 info->status.rates[0].idx = -1;
828 info->status.rates[0].count = 0;
829 ieee80211_tx_status_ni(wl->hw, skb);
830 }
831
828 total[i]++; 832 total[i]++;
829 } 833 }
830 } 834 }