From: Michael Lee <michael-cy.lee@xxxxxxxxxxxx> When receiving CCA-related nl80211 commands, hostapd used to work on struct wpa_driver_nl80211_data, whose ctx always points to hostpad_iface->bss[0]. However, CCA commands are sent on a per-BSS based. This patch makes hostapd handle CCA-related commands on a per-BSS based. Signed-off-by: Michael Lee <michael-cy.lee@xxxxxxxxxxxx> --- src/drivers/driver_nl80211_event.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/drivers/driver_nl80211_event.c b/src/drivers/driver_nl80211_event.c index ee922ac..585d207 100644 --- a/src/drivers/driver_nl80211_event.c +++ b/src/drivers/driver_nl80211_event.c @@ -2930,7 +2930,7 @@ static void nl80211_assoc_comeback(struct wpa_driver_nl80211_data *drv, #ifdef CONFIG_IEEE80211AX -static void nl80211_obss_color_collision(struct wpa_driver_nl80211_data *drv, +static void nl80211_obss_color_collision(struct i802_bss *bss, struct nlattr *tb[]) { union wpa_event_data data; @@ -2944,37 +2944,37 @@ static void nl80211_obss_color_collision(struct wpa_driver_nl80211_data *drv, wpa_printf(MSG_DEBUG, "nl80211: BSS color collision - bitmap %08lx", data.bss_color_collision.bitmap); - wpa_supplicant_event(drv->ctx, EVENT_BSS_COLOR_COLLISION, &data); + wpa_supplicant_event(bss->ctx, EVENT_BSS_COLOR_COLLISION, &data); } static void -nl80211_color_change_announcement_started(struct wpa_driver_nl80211_data *drv) +nl80211_color_change_announcement_started(struct i802_bss *bss) { union wpa_event_data data = {}; wpa_printf(MSG_DEBUG, "nl80211: CCA started"); - wpa_supplicant_event(drv->ctx, EVENT_CCA_STARTED_NOTIFY, &data); + wpa_supplicant_event(bss->ctx, EVENT_CCA_STARTED_NOTIFY, &data); } static void -nl80211_color_change_announcement_aborted(struct wpa_driver_nl80211_data *drv) +nl80211_color_change_announcement_aborted(struct i802_bss *bss) { union wpa_event_data data = {}; wpa_printf(MSG_DEBUG, "nl80211: CCA aborted"); - wpa_supplicant_event(drv->ctx, EVENT_CCA_ABORTED_NOTIFY, &data); + wpa_supplicant_event(bss->ctx, EVENT_CCA_ABORTED_NOTIFY, &data); } static void -nl80211_color_change_announcement_completed(struct wpa_driver_nl80211_data *drv) +nl80211_color_change_announcement_completed(struct i802_bss *bss) { union wpa_event_data data = {}; wpa_printf(MSG_DEBUG, "nl80211: CCA completed"); - wpa_supplicant_event(drv->ctx, EVENT_CCA_NOTIFY, &data); + wpa_supplicant_event(bss->ctx, EVENT_CCA_NOTIFY, &data); } #endif /* CONFIG_IEEE80211AX */ @@ -3230,16 +3230,16 @@ static void do_process_drv_event(struct i802_bss *bss, int cmd, break; #ifdef CONFIG_IEEE80211AX case NL80211_CMD_OBSS_COLOR_COLLISION: - nl80211_obss_color_collision(drv, tb); + nl80211_obss_color_collision(bss, tb); break; case NL80211_CMD_COLOR_CHANGE_STARTED: - nl80211_color_change_announcement_started(drv); + nl80211_color_change_announcement_started(bss); break; case NL80211_CMD_COLOR_CHANGE_ABORTED: - nl80211_color_change_announcement_aborted(drv); + nl80211_color_change_announcement_aborted(bss); break; case NL80211_CMD_COLOR_CHANGE_COMPLETED: - nl80211_color_change_announcement_completed(drv); + nl80211_color_change_announcement_completed(bss); break; #endif /* CONFIG_IEEE80211AX */ default: -- 2.25.1 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap