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>
This commit is contained in:
Eliad Peller 2011-12-18 20:25:42 +02:00 committed by Luciano Coelho
parent a0c7b7825e
commit 8aefffeaae
1 changed files with 3 additions and 0 deletions

View File

@ -1835,6 +1835,9 @@ int wl12xx_stop_dev(struct wl1271 *wl, struct wl12xx_vif *wlvif)
wlvif->bss_type == BSS_TYPE_IBSS))) wlvif->bss_type == BSS_TYPE_IBSS)))
return -EINVAL; return -EINVAL;
/* flush all pending packets */
wl1271_tx_work_locked(wl);
if (test_bit(wlvif->dev_role_id, wl->roc_map)) { if (test_bit(wlvif->dev_role_id, wl->roc_map)) {
ret = wl12xx_croc(wl, wlvif->dev_role_id); ret = wl12xx_croc(wl, wlvif->dev_role_id);
if (ret < 0) if (ret < 0)