ath11k: fix ZERO address in probe request
authorCarl Huang <cjhuang@codeaurora.org>
Fri, 6 Nov 2020 06:55:48 +0000 (08:55 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 7 Nov 2020 08:10:29 +0000 (10:10 +0200)
Host needs to pass at least on bssid with all 0xff to firmware in
WMI_START_SCAN_CMDID, otherwise the bssid and receiver address
in probe requeste are all ZEROs.

This also fixed some hidden AP connection issue because some AP
doesn't respond to probe request which receiver address are all
ZEROs.

Tested-on: QCA6390 hw2.0 PCI WLAN.HST.1.0.1-01740-QCAHSTSWPLZ_V2_TO_X86-1

Signed-off-by: Carl Huang <cjhuang@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201012101733.24137-1-cjhuang@codeaurora.org
drivers/net/wireless/ath/ath11k/wmi.c

index 40032c2b497551c10c60cd79c98fc96d36dbb2df..bca66c1d47ad574cbe1b480cd3988d6876243e7e 100644 (file)
@@ -1950,6 +1950,11 @@ void ath11k_wmi_start_scan_init(struct ath11k *ar,
                                  WMI_SCAN_EVENT_DEQUEUED;
        arg->scan_flags |= WMI_SCAN_CHAN_STAT_EVENT;
        arg->num_bssid = 1;
+
+       /* fill bssid_list[0] with 0xff, otherwise bssid and RA will be
+        * ZEROs in probe request
+        */
+       eth_broadcast_addr(arg->bssid_list[0].addr);
 }
 
 static inline void