nl80211: Fix tearing down WDS STA interfaces
authorFelix Fietkau <nbd@openwrt.org>
Fri, 28 Feb 2014 14:41:49 +0000 (15:41 +0100)
committerJouni Malinen <j@w1.fi>
Tue, 4 Mar 2014 18:13:01 +0000 (20:13 +0200)
wpa_driver_nl80211_if_remove() checks bss->if_added before deleting an
interface, which is 0 for the first BSS. The only part of
wpa_driver_nl80211_if_remove() that should get called for WDS STA
interfaces is the call to nl80211_remove_iface(), which can be pulled in
here directly.

Signed-off-by: Felix Fietkau <nbd@openwrt.org>
src/drivers/driver_nl80211.c

index c509170..d09f7b3 100644 (file)
@@ -9431,8 +9431,8 @@ static int i802_set_wds_sta(void *priv, const u8 *addr, int aid, int val,
                                        name);
 
                i802_set_sta_vlan(priv, addr, bss->ifname, 0);
-               return wpa_driver_nl80211_if_remove(priv, WPA_IF_AP_VLAN,
-                                                   name);
+               nl80211_remove_iface(drv, if_nametoindex(name));
+               return 0;
        }
 }