nl80211: Cache hostapd_data context in per link BSS struct for AP MLD
Cache the corresponding hostapd_data struct context into the link entry within the driver wrapper. This will be useful for driver events callback processing. Signed-off-by: Aditya Kumar Singh <quic_adisi@quicinc.com>
This commit is contained in:
parent
60e1dca1ef
commit
f2f0dd354f
4 changed files with 7 additions and 3 deletions
|
@ -455,7 +455,7 @@ static inline int hostapd_drv_link_add(struct hostapd_data *hapd,
|
|||
if (!hapd->driver || !hapd->drv_priv || !hapd->driver->link_add)
|
||||
return -1;
|
||||
|
||||
return hapd->driver->link_add(hapd->drv_priv, link_id, addr);
|
||||
return hapd->driver->link_add(hapd->drv_priv, link_id, addr, hapd);
|
||||
|
||||
}
|
||||
#endif /* CONFIG_IEEE80211BE */
|
||||
|
|
|
@ -5148,9 +5148,10 @@ struct wpa_driver_ops {
|
|||
* @priv: Private driver interface data
|
||||
* @link_id: The link ID
|
||||
* @addr: The MAC address to use for the link
|
||||
* @bss_ctx: BSS context for %WPA_IF_AP_BSS interfaces
|
||||
* Returns: 0 on success, negative value on failure
|
||||
*/
|
||||
int (*link_add)(void *priv, u8 link_id, const u8 *addr);
|
||||
int (*link_add)(void *priv, u8 link_id, const u8 *addr, void *bss_ctx);
|
||||
|
||||
#ifdef CONFIG_TESTING_OPTIONS
|
||||
int (*register_frame)(void *priv, u16 type,
|
||||
|
|
|
@ -13761,7 +13761,8 @@ static int nl80211_dpp_listen(void *priv, bool enable)
|
|||
#endif /* CONFIG_DPP */
|
||||
|
||||
|
||||
static int nl80211_link_add(void *priv, u8 link_id, const u8 *addr)
|
||||
static int nl80211_link_add(void *priv, u8 link_id, const u8 *addr,
|
||||
void *bss_ctx)
|
||||
{
|
||||
struct i802_bss *bss = priv;
|
||||
struct wpa_driver_nl80211_data *drv = bss->drv;
|
||||
|
@ -13820,6 +13821,7 @@ static int nl80211_link_add(void *priv, u8 link_id, const u8 *addr)
|
|||
bss->flink = &bss->links[link_id];
|
||||
|
||||
bss->valid_links |= BIT(link_id);
|
||||
bss->links[link_id].ctx = bss_ctx;
|
||||
|
||||
wpa_printf(MSG_DEBUG, "nl80211: MLD: valid_links=0x%04x",
|
||||
bss->valid_links);
|
||||
|
|
|
@ -58,6 +58,7 @@ struct i802_link {
|
|||
int freq;
|
||||
int bandwidth;
|
||||
u8 addr[ETH_ALEN];
|
||||
void *ctx;
|
||||
};
|
||||
|
||||
struct i802_bss {
|
||||
|
|
Loading…
Reference in a new issue