OSDN Git Service

wpa_supplicant: Try to reject proper BSSID even if not set by the driver
authorDmitry Shmidt <dimitrysh@google.com>
Mon, 29 Oct 2012 20:12:24 +0000 (13:12 -0700)
committerDmitry Shmidt <dimitrysh@google.com>
Mon, 29 Oct 2012 20:54:20 +0000 (13:54 -0700)
Bug: 7423119

Change-Id: Id0266274c9c60f8eea872ca3cfa5ad40d9180789
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
wpa_supplicant/events.c

index 34300e4..4b1d992 100644 (file)
@@ -2553,7 +2553,10 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
 
                                wpa_s->reassociate = 1;
                                if (wpa_s->p2p_group_interface == NOT_P2P_GROUP_INTERFACE) {
-                                       wpa_blacklist_add(wpa_s, data->assoc_reject.bssid);
+                                       const u8 *bl_bssid = data->assoc_reject.bssid;
+                                       if (!bl_bssid || is_zero_ether_addr(bl_bssid))
+                                               bl_bssid = wpa_s->pending_bssid;
+                                       wpa_blacklist_add(wpa_s, bl_bssid);
                                        wpa_supplicant_req_scan(wpa_s, 0, 0);
                                } else {
                                        wpa_supplicant_req_scan(wpa_s, 1, 0);