From 158b090cda6f97e947f7fe83c7baa85da7bcd281 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 24 Nov 2013 12:41:32 +0200 Subject: [PATCH] nl80211: Fix regression in P2P group interface removal Commit 390e489c0d9415caf103367136eaa534b559837c extended hostapd BSS interface removal capabilities. However, it ended up causing a regression in wpa_supplicant P2P group interface handling. That P2P group interface is removed through another driver_nl80211.c BSS context and as such, the bss->added_if is not set. Fix this by verifying whether the request is for another ifindex and if so, removing the interface even if added_if is not marked. Signed-hostap: Jouni Malinen --- 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 eaca17250..64ab29a63 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -9490,7 +9490,7 @@ static int wpa_driver_nl80211_if_remove(struct i802_bss *bss, wpa_printf(MSG_DEBUG, "nl80211: %s(type=%d ifname=%s) ifindex=%d added_if=%d", __func__, type, ifname, ifindex, bss->added_if); - if (ifindex > 0 && bss->added_if) + if (ifindex > 0 && (bss->added_if || bss->ifindex != ifindex)) nl80211_remove_iface(drv, ifindex); if (type != WPA_IF_AP_BSS)