Loading drivers/net/wireless/ath/ath10k/mac.c +12 −1 Original line number Diff line number Diff line Loading @@ -5530,6 +5530,11 @@ static int ath10k_hw_scan(struct ieee80211_hw *hw, arg.ssids[i].len = req->ssids[i].ssid_len; arg.ssids[i].ssid = req->ssids[i].ssid; } if (QCA_REV_WCN3990(ar)) { arg.scan_ctrl_flags &= ~(WMI_SCAN_ADD_BCAST_PROBE_REQ | WMI_SCAN_CHAN_STAT_EVENT); } } else { arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE; } Loading Loading @@ -6428,7 +6433,13 @@ static int ath10k_remain_on_channel(struct ieee80211_hw *hw, arg.dwell_time_passive = scan_time_msec; arg.max_scan_time = scan_time_msec; arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE; if (QCA_REV_WCN3990(ar)) { arg.scan_ctrl_flags &= ~(WMI_SCAN_FILTER_PROBE_REQ | WMI_SCAN_CHAN_STAT_EVENT | WMI_SCAN_ADD_BCAST_PROBE_REQ); } else { arg.scan_ctrl_flags |= WMI_SCAN_FILTER_PROBE_REQ; } arg.burst_duration_ms = duration; ret = ath10k_start_scan(ar, &arg); Loading drivers/net/wireless/ath/ath10k/wmi-tlv.c +1 −5 Original line number Diff line number Diff line Loading @@ -1553,11 +1553,7 @@ ath10k_wmi_tlv_op_gen_start_scan(struct ath10k *ar, cmd->ie_len = __cpu_to_le32(arg->ie_len); cmd->num_probes = __cpu_to_le32(3); if (QCA_REV_WCN3990(ar)) { cmd->common.scan_ctrl_flags = ar->fw_flags->flags; cmd->common.scan_ctrl_flags |= __cpu_to_le32(WMI_SCAN_CHAN_STAT_EVENT); } else { if (!QCA_REV_WCN3990(ar)) { cmd->common.scan_ctrl_flags ^= __cpu_to_le32(WMI_SCAN_FILTER_PROBE_REQ); } Loading drivers/net/wireless/ath/ath10k/wmi.c +2 −0 Original line number Diff line number Diff line Loading @@ -6192,6 +6192,8 @@ void ath10k_wmi_start_scan_init(struct ath10k *ar, | WMI_SCAN_EVENT_BSS_CHANNEL | WMI_SCAN_EVENT_FOREIGN_CHANNEL | WMI_SCAN_EVENT_DEQUEUED; if (QCA_REV_WCN3990(ar)) arg->scan_ctrl_flags = ar->fw_flags->flags; arg->scan_ctrl_flags |= WMI_SCAN_CHAN_STAT_EVENT; arg->n_bssids = 1; arg->bssids[0].bssid = "\xFF\xFF\xFF\xFF\xFF\xFF"; Loading drivers/net/wireless/ath/ath10k/wmi.h +2 −0 Original line number Diff line number Diff line Loading @@ -2960,6 +2960,8 @@ struct wmi_start_scan_arg { /* Different FW scan engine may choose to bail out on errors. * Allow the driver to have influence over that. */ #define WMI_SCAN_CONTINUE_ON_ERROR 0x80 /** add DS content in probe req frame */ #define WMI_SCAN_ADD_DS_IE_IN_PROBE_REQ 0x800 /* WMI_SCAN_CLASS_MASK must be the same value as IEEE80211_SCAN_CLASS_MASK */ #define WMI_SCAN_CLASS_MASK 0xFF000000 Loading Loading
drivers/net/wireless/ath/ath10k/mac.c +12 −1 Original line number Diff line number Diff line Loading @@ -5530,6 +5530,11 @@ static int ath10k_hw_scan(struct ieee80211_hw *hw, arg.ssids[i].len = req->ssids[i].ssid_len; arg.ssids[i].ssid = req->ssids[i].ssid; } if (QCA_REV_WCN3990(ar)) { arg.scan_ctrl_flags &= ~(WMI_SCAN_ADD_BCAST_PROBE_REQ | WMI_SCAN_CHAN_STAT_EVENT); } } else { arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE; } Loading Loading @@ -6428,7 +6433,13 @@ static int ath10k_remain_on_channel(struct ieee80211_hw *hw, arg.dwell_time_passive = scan_time_msec; arg.max_scan_time = scan_time_msec; arg.scan_ctrl_flags |= WMI_SCAN_FLAG_PASSIVE; if (QCA_REV_WCN3990(ar)) { arg.scan_ctrl_flags &= ~(WMI_SCAN_FILTER_PROBE_REQ | WMI_SCAN_CHAN_STAT_EVENT | WMI_SCAN_ADD_BCAST_PROBE_REQ); } else { arg.scan_ctrl_flags |= WMI_SCAN_FILTER_PROBE_REQ; } arg.burst_duration_ms = duration; ret = ath10k_start_scan(ar, &arg); Loading
drivers/net/wireless/ath/ath10k/wmi-tlv.c +1 −5 Original line number Diff line number Diff line Loading @@ -1553,11 +1553,7 @@ ath10k_wmi_tlv_op_gen_start_scan(struct ath10k *ar, cmd->ie_len = __cpu_to_le32(arg->ie_len); cmd->num_probes = __cpu_to_le32(3); if (QCA_REV_WCN3990(ar)) { cmd->common.scan_ctrl_flags = ar->fw_flags->flags; cmd->common.scan_ctrl_flags |= __cpu_to_le32(WMI_SCAN_CHAN_STAT_EVENT); } else { if (!QCA_REV_WCN3990(ar)) { cmd->common.scan_ctrl_flags ^= __cpu_to_le32(WMI_SCAN_FILTER_PROBE_REQ); } Loading
drivers/net/wireless/ath/ath10k/wmi.c +2 −0 Original line number Diff line number Diff line Loading @@ -6192,6 +6192,8 @@ void ath10k_wmi_start_scan_init(struct ath10k *ar, | WMI_SCAN_EVENT_BSS_CHANNEL | WMI_SCAN_EVENT_FOREIGN_CHANNEL | WMI_SCAN_EVENT_DEQUEUED; if (QCA_REV_WCN3990(ar)) arg->scan_ctrl_flags = ar->fw_flags->flags; arg->scan_ctrl_flags |= WMI_SCAN_CHAN_STAT_EVENT; arg->n_bssids = 1; arg->bssids[0].bssid = "\xFF\xFF\xFF\xFF\xFF\xFF"; Loading
drivers/net/wireless/ath/ath10k/wmi.h +2 −0 Original line number Diff line number Diff line Loading @@ -2960,6 +2960,8 @@ struct wmi_start_scan_arg { /* Different FW scan engine may choose to bail out on errors. * Allow the driver to have influence over that. */ #define WMI_SCAN_CONTINUE_ON_ERROR 0x80 /** add DS content in probe req frame */ #define WMI_SCAN_ADD_DS_IE_IN_PROBE_REQ 0x800 /* WMI_SCAN_CLASS_MASK must be the same value as IEEE80211_SCAN_CLASS_MASK */ #define WMI_SCAN_CLASS_MASK 0xFF000000 Loading