From 9bd9434108871108a2988bb9ec7694890060b406 Mon Sep 17 00:00:00 2001 From: Ajay Singh Date: Tue, 13 Jul 2021 19:05:23 +0000 Subject: [PATCH] nl80211: Fix send_mlme to use monitor interface only for AP interface Use monitor interface to send_mlme only when the interface is configured in AP mode. In multiple interface setup, one interface can be configured in AP mode using monitor interface and another interface in station mode. The station interface may also require sending the management frames without using monitor interface, e.g., support external SAE authentication to send Authentication frames without monitor interface. This change allows sending management frames to the driver for a station interface where the AP interface uses monitor interface. Additionally, the monitor interface is only valid for AP mode (nl80211_create_monitor_interface() is called in nl80211_setup_ap) so interface type check ensures to use monitor interface only when required by the specific interface. Signed-off-by: Ajay Singh Signed-off-by: Peter Reen --- src/drivers/driver_nl80211.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 2aefa336c..f04934454 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -4083,7 +4083,7 @@ static int wpa_driver_nl80211_send_mlme(struct i802_bss *bss, const u8 *data, freq = bss->freq; } - if (drv->use_monitor) { + if (drv->use_monitor && is_ap_interface(drv->nlmode)) { wpa_printf(MSG_DEBUG, "nl80211: send_frame(freq=%u bss->freq=%u) -> send_monitor", freq, bss->freq);