| Index: wpa_supplicant/events.c
|
| diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
|
| index c16ea58294df8203c2b50c3a9909a6f0454fb7eb..f37c898fe358cf28d01ccd7652b68495252ee5ba 100644
|
| --- a/wpa_supplicant/events.c
|
| +++ b/wpa_supplicant/events.c
|
| @@ -1278,7 +1278,13 @@ static void wpa_supplicant_event_disassoc(struct wpa_supplicant *wpa_s,
|
| bssid = wpa_s->bssid;
|
| if (is_zero_ether_addr(bssid))
|
| bssid = wpa_s->pending_bssid;
|
| - wpa_blacklist_add(wpa_s, bssid);
|
| + /*
|
| + * Don't blacklist the AP on normal/expected disconnects.
|
| + */
|
| + if (reason_code != WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY &&
|
| + reason_code != WLAN_REASON_CLASS2_FRAME_FROM_NONAUTH_STA &&
|
| + reason_code != WLAN_REASON_CLASS3_FRAME_FROM_NONASSOC_STA)
|
| + wpa_blacklist_add(wpa_s, bssid);
|
| wpa_sm_notify_disassoc(wpa_s->wpa);
|
| wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_DISCONNECTED "bssid=" MACSTR
|
| " reason=%d",
|
|
|