Ver Fonte

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 há 8 anos atrás
pai
commit
2e8180d84b
1 ficheiros alterados com 12 adições e 9 exclusões
  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;
 		}