summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/sme/src/csr/csr_api_scan.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/core/sme/src/csr/csr_api_scan.c b/core/sme/src/csr/csr_api_scan.c
index a0f7a7efdc96..7ec0a0833f0e 100644
--- a/core/sme/src/csr/csr_api_scan.c
+++ b/core/sme/src/csr/csr_api_scan.c
@@ -7005,9 +7005,20 @@ QDF_STATUS csr_scan_save_preferred_network_found(tpAniSirGlobal pMac,
pBssDescr->channelId = parsed_frm->channelNumber;
else if (parsed_frm->HTInfo.present)
pBssDescr->channelId = parsed_frm->HTInfo.primaryChannel;
- else
- pBssDescr->channelId = parsed_frm->channelNumber;
-
+ else {
+ /*
+ * If Probe Responce received in PNO indication does not
+ * contain DSParam IE or HT Info IE then add dummy channel
+ * to the received BSS info so that Scan result received as
+ * a part of PNO is updated to the supplicant. Specially
+ * applicable in case of AP configured in 11A only mode.
+ */
+ if ((pMac->roam.configParam.bandCapability == eCSR_BAND_ALL) ||
+ (pMac->roam.configParam.bandCapability == eCSR_BAND_24))
+ pBssDescr->channelId = 1;
+ else if (pMac->roam.configParam.bandCapability == eCSR_BAND_5G)
+ pBssDescr->channelId = 36;
+ }
if ((pBssDescr->channelId > 0) && (pBssDescr->channelId < 15)) {
int i;
/* 11b or 11g packet */