ath10k: support MAC address randomization in scan
The ath10k reports the random_mac_addr capability to upper layer based on the service bit firmware reported. Driver sets the spoofed flag in scan_ctrl_flag to firmware if upper layer has enabled this feature in scan request. Test with QCA6174 hw3.0 and firmware-6.bin_WLAN.RM.4.4.1-00102-QCARMSWP-1, but QCA9377 is also affected. Signed-off-by: Carl Huang <cjhuang@codeaurora.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
@@ -791,6 +791,7 @@ struct wmi_cmd_map {
|
||||
u32 stop_scan_cmdid;
|
||||
u32 scan_chan_list_cmdid;
|
||||
u32 scan_sch_prio_tbl_cmdid;
|
||||
u32 scan_prob_req_oui_cmdid;
|
||||
u32 pdev_set_regdomain_cmdid;
|
||||
u32 pdev_set_channel_cmdid;
|
||||
u32 pdev_set_param_cmdid;
|
||||
@@ -3168,6 +3169,8 @@ struct wmi_start_scan_arg {
|
||||
u16 channels[64];
|
||||
struct wmi_ssid_arg ssids[WLAN_SCAN_PARAMS_MAX_SSID];
|
||||
struct wmi_bssid_arg bssids[WLAN_SCAN_PARAMS_MAX_BSSID];
|
||||
struct wmi_mac_addr mac_addr;
|
||||
struct wmi_mac_addr mac_mask;
|
||||
};
|
||||
|
||||
/* scan control flags */
|
||||
@@ -3191,6 +3194,12 @@ struct wmi_start_scan_arg {
|
||||
*/
|
||||
#define WMI_SCAN_CONTINUE_ON_ERROR 0x80
|
||||
|
||||
/* Use random MAC address for TA for Probe Request frame and add
|
||||
* OUI specified by WMI_SCAN_PROB_REQ_OUI_CMDID to the Probe Request frame.
|
||||
* if OUI is not set by WMI_SCAN_PROB_REQ_OUI_CMDID then the flag is ignored.
|
||||
*/
|
||||
#define WMI_SCAN_ADD_SPOOFED_MAC_IN_PROBE_REQ 0x1000
|
||||
|
||||
/* WMI_SCAN_CLASS_MASK must be the same value as IEEE80211_SCAN_CLASS_MASK */
|
||||
#define WMI_SCAN_CLASS_MASK 0xFF000000
|
||||
|
||||
|
Reference in New Issue
Block a user