This handles some error cases without getting stuck waiting for new events from the driver if association command fails for any reason.
@@ -314,6 +314,7 @@ void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data)
if (wpa_drv_associate(wpa_s, ¶ms) < 0) {
wpa_msg(wpa_s, MSG_INFO, "Association request to the driver "
"failed");
+ wpa_supplicant_req_scan(wpa_s, 5, 0);
return;
}