diff --git a/src/drivers/driver_atheros.c b/src/drivers/driver_atheros.c index ad78c2a9f..a146114ea 100644 --- a/src/drivers/driver_atheros.c +++ b/src/drivers/driver_atheros.c @@ -74,6 +74,7 @@ struct madwifi_driver_data { static int madwifi_sta_deauth(void *priv, const u8 *own_addr, const u8 *addr, int reason_code); +static int madwifi_set_privacy(void *priv, int enabled); static const char * athr_get_ioctl_name(int op) { @@ -343,8 +344,11 @@ madwifi_set_ieee8021x(void *priv, struct wpa_bss_params *params) if (!params->enabled) { /* XXX restore state */ - return set80211param(priv, IEEE80211_PARAM_AUTHMODE, - IEEE80211_AUTH_AUTO); + if (set80211param(priv, IEEE80211_PARAM_AUTHMODE, + IEEE80211_AUTH_AUTO) < 0) + return -1; + /* IEEE80211_AUTH_AUTO ends up enabling Privacy; clear that */ + return madwifi_set_privacy(drv, 0); } if (!params->wpa && !params->ieee802_1x) { hostapd_logger(drv->hapd, NULL, HOSTAPD_MODULE_DRIVER,