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 */
* @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,
#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;
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);
int freq;
int bandwidth;
u8 addr[ETH_ALEN];
+ void *ctx;
};
struct i802_bss {