When the ifindex of the interface is changed, the obsolete ifindex is not removed from the local ifidx list and have_idx() can return false positive. ifindex can be changed after calling of device_reprobe() in some wifi drivers. Signed-off-by: Alexander Savchenko <oleksandr.savchenko@xxxxxxxxxx> --- src/drivers/driver_nl80211.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 38bdbe4f0..69d5f3d2f 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -1119,6 +1119,7 @@ static int wpa_driver_nl80211_own_ifindex(struct wpa_driver_nl80211_data *drv, nl80211_check_global(drv->global); wpa_printf(MSG_DEBUG, "nl80211: Update ifindex for a removed " "interface"); + del_ifidx(drv, drv->ifindex, IFIDX_ANY); if (wpa_driver_nl80211_finish_drv_init(drv, NULL, 0, NULL) < 0) return -1; return 1; -- 2.25.0 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap