diff --git a/src/drivers/driver_wext.c b/src/drivers/driver_wext.c index 631c63d..fb9d5c6 100644 --- a/src/drivers/driver_wext.c +++ b/src/drivers/driver_wext.c @@ -1911,9 +1911,24 @@ static int wpa_driver_wext_disassociate(void *priv, const u8 *addr, int reason_code) { struct wpa_driver_wext_data *drv = priv; + u8 ssid[32]; + int ret; + wpa_printf(MSG_DEBUG, "%s", __FUNCTION__); - return wpa_driver_wext_mlme(drv, addr, IW_MLME_DISASSOC, - reason_code); + + ret = wpa_driver_wext_mlme(drv, addr, IW_MLME_DISASSOC, + reason_code); + if (ret == 0) { + const u8 null_bssid[ETH_ALEN] = { 0, 0, 0, 0, 0, 0 }; + + ret = wpa_driver_wext_set_bssid(drv, null_bssid); + + for (ret = 0; ret < 32; ret++) + ssid[ret] = rand() & 0xFF; + ret = wpa_driver_wext_set_ssid(drv, ssid, 32); + } + + return ret; }