diff --git a/wpa_supplicant/ibss_rsn.c b/wpa_supplicant/ibss_rsn.c index 48dd66b12..0aba8cb04 100644 --- a/wpa_supplicant/ibss_rsn.c +++ b/wpa_supplicant/ibss_rsn.c @@ -69,6 +69,9 @@ static int supp_ether_send(void *ctx, const u8 *dest, u16 proto, const u8 *buf, "len=%lu)", __func__, MAC2STR(dest), proto, (unsigned long) len); + if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_CONTROL_PORT) + return wpa_drv_tx_control_port(wpa_s, dest, proto, buf, len); + if (wpa_s->l2) return l2_packet_send(wpa_s->l2, dest, proto, buf, len); diff --git a/wpa_supplicant/wpas_glue.c b/wpa_supplicant/wpas_glue.c index d80b8f28d..b67a24e53 100644 --- a/wpa_supplicant/wpas_glue.c +++ b/wpa_supplicant/wpas_glue.c @@ -112,6 +112,9 @@ static int wpa_ether_send(struct wpa_supplicant *wpa_s, const u8 *dest, } #endif /* CONFIG_TESTING_OPTIONS */ + if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_CONTROL_PORT) + return wpa_drv_tx_control_port(wpa_s, dest, proto, buf, len); + if (wpa_s->l2) { return l2_packet_send(wpa_s->l2, dest, proto, buf, len); }