qcacmn: scan all channels in A/G if 0 channels provided

When wide band scan is enabled, host configures all possible
channels with all possible phy modes. In his case if a scan
is invoked with 0 channels, target will end up scanning each
channel with all possible phy modes which increases scan time
exponentially.
If wide band scan is enabled and scan is issues with 0 channels,
configure target to scan all available channels only in 11A/11G mode.

Change-Id: I7c678ccf43c3238aacbfc59cc7e7bd19763453cc
CRs-Fixed: 2165025
Šī revīzija ir iekļauta:
Om Prakash Tripathi
2017-12-28 17:22:14 +05:30
revīziju iesūtīja snandini
vecāks 1b5e807809
revīzija 7dd49fec17
3 mainīti faili ar 195 papildinājumiem un 19 dzēšanām

Parādīt failu

@@ -1119,6 +1119,7 @@ int wlan_cfg80211_scan(struct wlan_objmgr_pdev *pdev,
struct wlan_objmgr_psoc *psoc;
wlan_scan_id scan_id;
bool is_p2p_scan = false;
enum wlan_band band;
struct net_device *netdev = NULL;
/* Get the vdev object */
@@ -1277,6 +1278,13 @@ int wlan_cfg80211_scan(struct wlan_objmgr_pdev *pdev,
len += snprintf(chl + len, 5, "%d ", channel);
req->scan_req.chan_list.chan[num_chan].freq =
wlan_chan_to_freq(channel);
band = util_scan_scm_chan_to_band(channel);
if (band == WLAN_BAND_2_4_GHZ)
req->scan_req.chan_list.chan[num_chan].phymode =
SCAN_PHY_MODE_11G;
else
req->scan_req.chan_list.chan[num_chan].phymode =
SCAN_PHY_MODE_11A;
num_chan++;
}
cfg80211_notice("Channel-List: %s", chl);