]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
nl80211: Implement deauth for IBSS as leave IBSS command
authorJouni Malinen <jouni.malinen@atheros.com>
Wed, 23 Mar 2011 19:15:22 +0000 (21:15 +0200)
committerJouni Malinen <j@w1.fi>
Wed, 23 Mar 2011 19:15:22 +0000 (21:15 +0200)
src/drivers/driver_nl80211.c

index bd4c0c4fb1784061a6e02c32afd3560c74f95970..f9f85669ec07a5eafe36a8f39e025abeef6346f0 100644 (file)
@@ -217,6 +217,8 @@ static int i802_set_freq(void *priv, struct hostapd_freq_params *freq);
 static int nl80211_disable_11b_rates(struct wpa_driver_nl80211_data *drv,
                                     int ifindex, int disabled);
 
+static int nl80211_leave_ibss(struct wpa_driver_nl80211_data *drv);
+
 
 /* nl80211 code */
 static int ack_handler(struct nl_msg *msg, void *arg)
@@ -2948,6 +2950,8 @@ static int wpa_driver_nl80211_deauthenticate(void *priv, const u8 *addr,
        wpa_printf(MSG_DEBUG, "%s(addr=" MACSTR " reason_code=%d)",
                   __func__, MAC2STR(addr), reason_code);
        drv->associated = 0;
+       if (drv->nlmode == NL80211_IFTYPE_ADHOC)
+               return nl80211_leave_ibss(drv);
        return wpa_driver_nl80211_mlme(drv, addr, NL80211_CMD_DEAUTHENTICATE,
                                       reason_code, 0);
 }