[PATCH v2 3/6] nl80211: Restored usage of the resolved ifname
Alexander Savchenko
oleksandr.savchenko at celeno.com
Tue Sep 6 09:14:07 PDT 2022
Due to reverted commits 8a9950f7b, 106fa1e97
included merged functionality (UP/DOWN RTM events processing and namebuf)
namebuf is restored in this commit.
Signed-off-by: Alexander Savchenko <oleksandr.savchenko at celeno.com>
---
src/drivers/driver_nl80211.c | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 2812d36a4..38bdbe4f0 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -1245,9 +1245,9 @@ static void wpa_driver_nl80211_event_rtm_newlink(void *ctx,
return; /* do not update interface state */
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,
- drv->first_bss->ifname) > 0) {
+ linux_iface_up(drv->global->ioctl_sock, namebuf) > 0) {
wpa_printf(MSG_DEBUG, "nl80211: Ignore interface down "
"event since interface %s is up", namebuf);
drv->ignore_if_down_event = 0;
@@ -1255,7 +1255,8 @@ static void wpa_driver_nl80211_event_rtm_newlink(void *ctx,
nl80211_refresh_mac(drv, ifi->ifi_index, 1);
return;
}
- wpa_printf(MSG_DEBUG, "nl80211: Interface down");
+ wpa_printf(MSG_DEBUG, "nl80211: Interface down (%s/%s)",
+ namebuf, ifname);
if (drv->ignore_if_down_event) {
wpa_printf(MSG_DEBUG, "nl80211: Ignore interface down "
"event generated by mode change");
@@ -1278,13 +1279,18 @@ 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,
- drv->first_bss->ifname) == 0) {
+ linux_iface_up(drv->global->ioctl_sock, namebuf) == 0) {
wpa_printf(MSG_DEBUG, "nl80211: Ignore interface up "
"event since interface %s is down",
namebuf);
- } else if (if_nametoindex(drv->first_bss->ifname) == 0) {
+ return;
+ }
+ wpa_printf(MSG_DEBUG, "nl80211: Interface up (%s/%s)",
+ namebuf, ifname);
+
+ if (if_nametoindex(drv->first_bss->ifname) == 0) {
wpa_printf(MSG_DEBUG, "nl80211: Ignore interface up "
"event since interface %s does not exist",
drv->first_bss->ifname);
@@ -1296,7 +1302,6 @@ 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