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 40032c2..bca66c1 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