aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/cmd.c
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-12-18 13:25:42 -0500
committerLuciano Coelho <coelho@ti.com>2011-12-20 15:30:14 -0500
commit8aefffeaae5d2e10edc77c084f75dc36bcce0c68 (patch)
tree6fd639d2a43f4510cedcc0af5183b8d579415a27 /drivers/net/wireless/wl12xx/cmd.c
parenta0c7b7825e026c7acf63fd92a5182efd3aff637f (diff)
wl12xx: flush packets before stopping dev role
During sta disconnection, a deauth packet is being queued to the dev role queue. However, the dev role is being stopped before the packet was sent. Flush the tx queue before stopping the dev role. Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/cmd.c')
-rw-r--r--drivers/net/wireless/wl12xx/cmd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/cmd.c b/drivers/net/wireless/wl12xx/cmd.c
index e0d217979485..25990bd38be6 100644
--- a/drivers/net/wireless/wl12xx/cmd.c
+++ b/drivers/net/wireless/wl12xx/cmd.c
@@ -1835,6 +1835,9 @@ int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif)
1835 wlvif->bss_type == BSS_TYPE_IBSS))) 1835 wlvif->bss_type == BSS_TYPE_IBSS)))
1836 return -EINVAL; 1836 return -EINVAL;
1837 1837
1838 /* flush all pending packets */
1839 wl1271_tx_work_locked(wl);
1840
1838 if (test_bit(wlvif->dev_role_id, wl->roc_map)) { 1841 if (test_bit(wlvif->dev_role_id, wl->roc_map)) {
1839 ret = wl12xx_croc(wl, wlvif->dev_role_id); 1842 ret = wl12xx_croc(wl, wlvif->dev_role_id);
1840 if (ret < 0) 1843 if (ret < 0)