소스 검색

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;
 		}