wpa_supplicant: Try to reject proper BSSID even if not set by the driver

Bug: 7423119

Change-Id: Id0266274c9c60f8eea872ca3cfa5ad40d9180789
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c
index 34300e4..4b1d992 100644
--- a/wpa_supplicant/events.c
+++ b/wpa_supplicant/events.c
@@ -2553,7 +2553,10 @@
 
 				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);