wlcore: track wlvif inside per-link structure

This allows us to pass only the link as a parameter to various functions
and deduce the wlvif. Note that this member will be NULL for global
links.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
This commit is contained in:
Arik Nemtsov 2012-11-27 08:44:57 +02:00 committed by Luciano Coelho
parent b50a62bb39
commit 1e0708a957
2 changed files with 7 additions and 0 deletions

View file

@ -326,6 +326,7 @@ int wl12xx_allocate_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid)
/* take the last "freed packets" value from the current FW status */
wl->links[link].prev_freed_pkts =
wl->fw_status_2->counters.tx_lnk_free_pkts[link];
wl->links[link].wlvif = wlvif;
*hlid = link;
return 0;
}
@ -353,6 +354,7 @@ void wl12xx_free_link(struct wl1271 *wl, struct wl12xx_vif *wlvif, u8 *hlid)
* can purge them.
*/
wl1271_tx_reset_link_queues(wl, *hlid);
wl->links[*hlid].wlvif = NULL;
*hlid = WL12XX_INVALID_LINK_ID;
}

View file

@ -249,6 +249,8 @@ enum wl12xx_vif_flags {
WLVIF_FLAG_IN_USE,
};
struct wl12xx_vif;
struct wl1271_link {
/* AP-mode - TX queue per AC in link */
struct sk_buff_head tx_queue[NUM_TX_QUEUES];
@ -261,6 +263,9 @@ struct wl1271_link {
/* bitmap of TIDs where RX BA sessions are active for this link */
u8 ba_bitmap;
/* The wlvif this link belongs to. Might be null for global links */
struct wl12xx_vif *wlvif;
};
#define WL1271_MAX_RX_FILTERS 5