From 0d391b03e7a74d91f0743d008c7b16670ca968bc Mon Sep 17 00:00:00 2001 From: Bob Copeland Date: Mon, 1 Sep 2014 00:23:23 -0400 Subject: [PATCH] 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 Signed-off-by: Javier Lopez Signed-off-by: Javier Cardona Signed-off-by: Jason Mobarak Signed-off-by: Bob Copeland --- src/drivers/driver_nl80211.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index 1f8b33f8b..606023e49 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -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 ieee80211_mgmt mgmt; + if (is_mesh_interface(drv->nlmode)) + return -1; + if (drv->device_ap_sme) 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 ieee80211_mgmt mgmt; + if (is_mesh_interface(drv->nlmode)) + return -1; + if (drv->device_ap_sme) return wpa_driver_nl80211_sta_remove(bss, addr, 0, reason);