diff options
| -rw-r--r-- | core/sme/src/csr/csr_api_scan.c | 17 |
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 */ |
