浏览代码

qcacld-3.0: Remove 11P channels from channel list in PNO scan

qcacld-2.0 to qcacld-3.0 propagation

Host driver receives 11P channels as part of PNO scan because
kernel enables 11P channels. This increases the scan time.

Add changes to remove 11P channels from the received
channel list in PNO scan

Change-Id: Iede759dfabdc971309f3d1f68411d241f415b422
CRs-Fixed: 1017824
Sreelakshmi Konamki 8 年之前
父节点
当前提交
2e8180d84b
共有 1 个文件被更改,包括 12 次插入9 次删除
  1. 12 9
      core/hdd/src/wlan_hdd_scan.c

+ 12 - 9
core/hdd/src/wlan_hdd_scan.c

@@ -2136,13 +2136,16 @@ static int __wlan_hdd_cfg80211_sched_scan_start(struct wiphy *wiphy,
 						num_ignore_dfs_ch++;
 						break;
 					}
-
-					valid_ch[num_ch++] =
-						request->channels[i]->hw_value;
-					len +=
-						snprintf(chList + len, 5, "%d ",
-							 request->channels[i]->
-							 hw_value);
+					if (!cds_is_dsrc_channel(
+					    cds_chan_to_freq(
+					    request->channels[i]->hw_value))) {
+						valid_ch[num_ch++] = request->
+							channels[i]->hw_value;
+						len += snprintf(chList + len,
+							5, "%d ",
+							request->channels[i]->
+							hw_value);
+					}
 					break;
 				}
 			}
@@ -2152,8 +2155,8 @@ static int __wlan_hdd_cfg80211_sched_scan_start(struct wiphy *wiphy,
 		/* If all channels are DFS and dropped,
 		 * then ignore the PNO request
 		 */
-		if (num_ignore_dfs_ch == request->n_channels) {
-			hdd_notice("All requested channels are DFS channels");
+		if (!num_ch) {
+			hdd_notice("Channel list empty due to filtering of DSRC,DFS channels");
 			ret = -EINVAL;
 			goto error;
 		}