aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/tx.c
diff options
context:
space:
mode:
authorArik Nemtsov <arik@wizery.com>2011-08-25 05:43:17 -0400
committerLuciano Coelho <coelho@ti.com>2011-09-14 06:15:19 -0400
commitf1acea9a9d48174f982e14a7a488b208d39d825f (patch)
treef585625badfb454d7377cd41653f6b93b0c78657 /drivers/net/wireless/wl12xx/tx.c
parentf4d3b6ab5e78fbdf3c27123cc29c44ff3d626c59 (diff)
wl12xx: AP mode - clean BA and queue state in tx_reset
Reset the BA state of all connected stations and explicitly clear the Tx queues. The latter is needed for clearing dummy packets from tx_queue_count. Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/tx.c')
-rw-r--r--drivers/net/wireless/wl12xx/tx.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/tx.c b/drivers/net/wireless/wl12xx/tx.c
index 2bf31302b975..9d4157ce0950 100644
--- a/drivers/net/wireless/wl12xx/tx.c
+++ b/drivers/net/wireless/wl12xx/tx.c
@@ -891,6 +891,7 @@ void wl1271_tx_reset(struct wl1271 *wl, bool reset_tx_queues)
891 /* TX failure */ 891 /* TX failure */
892 if (wl->bss_type == BSS_TYPE_AP_BSS) { 892 if (wl->bss_type == BSS_TYPE_AP_BSS) {
893 for (i = 0; i < AP_MAX_LINKS; i++) { 893 for (i = 0; i < AP_MAX_LINKS; i++) {
894 wl1271_free_sta(wl, i);
894 wl1271_tx_reset_link_queues(wl, i); 895 wl1271_tx_reset_link_queues(wl, i);
895 wl->links[i].allocated_pkts = 0; 896 wl->links[i].allocated_pkts = 0;
896 wl->links[i].prev_freed_pkts = 0; 897 wl->links[i].prev_freed_pkts = 0;
@@ -910,10 +911,14 @@ void wl1271_tx_reset(struct wl1271 *wl, bool reset_tx_queues)
910 ieee80211_tx_status_ni(wl->hw, skb); 911 ieee80211_tx_status_ni(wl->hw, skb);
911 } 912 }
912 } 913 }
913 wl->tx_queue_count[i] = 0;
914 } 914 }
915
916 wl->ba_rx_bitmap = 0;
915 } 917 }
916 918
919 for (i = 0; i < NUM_TX_QUEUES; i++)
920 wl->tx_queue_count[i] = 0;
921
917 wl->stopped_queues_map = 0; 922 wl->stopped_queues_map = 0;
918 923
919 /* 924 /*