diff options
author | Eliad Peller <eliad@wizery.com> | 2011-10-10 10:13:17 +0200 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-10-11 15:29:57 +0300 |
commit | e4120df982c2051f3cfc02f6278798c5166a72f8 (patch) | |
tree | e3a9ddc2b7fed63e1b24881d67c7f08e87271586 /drivers/net/wireless/wl12xx/main.c | |
parent | f750c82045d8f5d0d6d59e517eb485ffbbe014b2 (diff) |
wl12xx: use round-robin policy for tx
Currently, a single vif might starve all the other vifs.
Save the last vif we dequeued a packet from, and continue
with the following one using a round-robin policy.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/main.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index 6e6ac63fb8c..f29d18daaa8 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c @@ -2282,6 +2282,8 @@ deinit: wl12xx_tx_reset_wlvif(wl, wlvif); wl1271_free_ap_keys(wl, wlvif); + if (wl->last_wlvif == wlvif) + wl->last_wlvif = NULL; list_del(&wlvif->list); memset(wlvif->ap.sta_hlid_map, 0, sizeof(wlvif->ap.sta_hlid_map)); wlvif->role_id = WL12XX_INVALID_ROLE_ID; |