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:
parent
b50a62bb39
commit
1e0708a957
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue