nl80211: Free BSS structure even if netdev does not exists

It is possible for a vif netdev to be removed by something else than
hostapd and if that happens for a virtual AP interface, if_remove()
handler should still free the local data structure to avoid memory leaks
if something external removes a netdev.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2013-10-22 13:35:32 +03:00 committed by Jouni Malinen
parent 41cc50d19e
commit 2b72df6374

View file

@ -9251,10 +9251,8 @@ static int wpa_driver_nl80211_if_remove(struct i802_bss *bss,
wpa_printf(MSG_DEBUG, "nl80211: %s(type=%d ifname=%s) ifindex=%d",
__func__, type, ifname, ifindex);
if (ifindex <= 0)
return -1;
nl80211_remove_iface(drv, ifindex);
if (ifindex > 0)
nl80211_remove_iface(drv, ifindex);
#ifdef HOSTAPD
if (type != WPA_IF_AP_BSS)