[PATCH v1 1/6] Revert "nl80211: Indicate interface up only for the main netdev"

oleksandr.savchenko at celeno.com oleksandr.savchenko at celeno.com
Thu Jul 14 09:53:01 PDT 2022


From: Alexander Savchenko <oleksandr.savchenko at celeno.com>

This reverts commit 8a9950f7b6ebd4f555575f60d7ae7a98cdb73383.

Commit 8a9950f7b breaks the virtual AP mode due to non-main interfaces
can't receive UP state.

Signed-off-by: Alexander Savchenko <oleksandr.savchenko at celeno.com>
---
 src/drivers/driver_nl80211.c | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index aec179ac3..158700f65 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -1275,20 +1275,11 @@ static void wpa_driver_nl80211_event_rtm_newlink(void *ctx,
 	}
 
 	if (drv->if_disabled && (ifi->ifi_flags & IFF_UP)) {
-		namebuf[0] = '\0';
 		if (if_indextoname(ifi->ifi_index, namebuf) &&
 		    linux_iface_up(drv->global->ioctl_sock, namebuf) == 0) {
 			wpa_printf(MSG_DEBUG, "nl80211: Ignore interface up "
 				   "event since interface %s is down",
 				   namebuf);
-			return;
-		}
-		wpa_printf(MSG_DEBUG, "nl80211: Interface up (%s/%s)",
-			   namebuf, ifname);
-		if (os_strcmp(drv->first_bss->ifname, ifname) != 0) {
-			wpa_printf(MSG_DEBUG,
-				   "nl80211: Not the main interface (%s) - do not indicate interface up",
-				   drv->first_bss->ifname);
 		} else if (if_nametoindex(drv->first_bss->ifname) == 0) {
 			wpa_printf(MSG_DEBUG, "nl80211: Ignore interface up "
 				   "event since interface %s does not exist",
@@ -1301,6 +1292,7 @@ static void wpa_driver_nl80211_event_rtm_newlink(void *ctx,
 			/* Re-read MAC address as it may have changed */
 			nl80211_refresh_mac(drv, ifi->ifi_index, 0);
 
+			wpa_printf(MSG_DEBUG, "nl80211: Interface up");
 			drv->if_disabled = 0;
 			wpa_supplicant_event(drv->ctx, EVENT_INTERFACE_ENABLED,
 					     NULL);
-- 
2.25.0




More information about the Hostap mailing list