nl80211: Reject deauth/disassoc for mesh interface

sta_info call these to send out the disassoc and deauth frame
which are both not relevent to mesh. So don't send them.

Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com>
Signed-off-by: Javier Lopez <jlopex@gmail.com>
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: Jason Mobarak <x@jason.mobarak.name>
Signed-off-by: Bob Copeland <me@bobcopeland.com>
This commit is contained in:
Bob Copeland 2014-09-01 00:23:23 -04:00 committed by Jouni Malinen
parent afb0550a39
commit 0d391b03e7

View file

@ -10078,6 +10078,9 @@ static int i802_sta_deauth(void *priv, const u8 *own_addr, const u8 *addr,
struct wpa_driver_nl80211_data *drv = bss->drv; struct wpa_driver_nl80211_data *drv = bss->drv;
struct ieee80211_mgmt mgmt; struct ieee80211_mgmt mgmt;
if (is_mesh_interface(drv->nlmode))
return -1;
if (drv->device_ap_sme) if (drv->device_ap_sme)
return wpa_driver_nl80211_sta_remove(bss, addr, 1, reason); return wpa_driver_nl80211_sta_remove(bss, addr, 1, reason);
@ -10102,6 +10105,9 @@ static int i802_sta_disassoc(void *priv, const u8 *own_addr, const u8 *addr,
struct wpa_driver_nl80211_data *drv = bss->drv; struct wpa_driver_nl80211_data *drv = bss->drv;
struct ieee80211_mgmt mgmt; struct ieee80211_mgmt mgmt;
if (is_mesh_interface(drv->nlmode))
return -1;
if (drv->device_ap_sme) if (drv->device_ap_sme)
return wpa_driver_nl80211_sta_remove(bss, addr, 0, reason); return wpa_driver_nl80211_sta_remove(bss, addr, 0, reason);