qcacld-3.0: Use LDPC flag from Vendor IE for VHT20 case

qcacld-2.0 to qcacld-3.0 propagation

Update LDPC flag from Vendor IE instead of VHT capabilities
for VHT20 case.

Change-Id: I7bb916353586529fb78f1caeda68687663e44af2
CRs-Fixed: 2091292
This commit is contained in:
Visweswara Tanuku
2018-04-12 11:25:11 +05:30
committed by nshrivas
parent ad8cfa1185
commit 2e2ac0338d

View File

@@ -3606,6 +3606,7 @@ tSirRetStatus lim_sta_send_add_bss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
uint32_t retCode;
tpDphHashNode pStaDs = NULL;
uint8_t chanWidthSupp = 0;
bool is_vht_cap_in_vendor_ie = false;
uint32_t enableTxBF20MHz;
tDot11fIEVHTCaps *vht_caps = NULL;
tDot11fIEVHTOperation *vht_oper = NULL;
@@ -3851,6 +3852,7 @@ tSirRetStatus lim_sta_send_add_bss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
else if (pAssocRsp->vendor_vht_ie.VHTCaps.present) {
vht_caps = &pAssocRsp->vendor_vht_ie.VHTCaps;
pe_debug("VHT Caps are in vendor Specfic IE");
is_vht_cap_in_vendor_ie = true;
}
if ((vht_caps != NULL) && (vht_caps->suBeamFormerCap ||
@@ -3931,17 +3933,17 @@ tSirRetStatus lim_sta_send_add_bss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
* hardcode this values to 0.
*/
if (psessionEntry->htConfig.ht_sgi20) {
pAddBssParams->staContext.fShortGI20Mhz =
(uint8_t)pAssocRsp->HTCaps.shortGI20MHz;
} else {
pAddBssParams->staContext.fShortGI20Mhz = false;
}
pAddBssParams->staContext.fShortGI20Mhz =
(uint8_t)pAssocRsp->HTCaps.shortGI20MHz;
} else {
pAddBssParams->staContext.fShortGI20Mhz = false;
}
if (psessionEntry->htConfig.ht_sgi40) {
pAddBssParams->staContext.fShortGI40Mhz =
(uint8_t) pAssocRsp->HTCaps.shortGI40MHz;
} else {
pAddBssParams->staContext.fShortGI40Mhz = false;
pAddBssParams->staContext.fShortGI40Mhz = false;
}
if (!pAddBssParams->staContext.vhtCapable)
@@ -3973,11 +3975,16 @@ tSirRetStatus lim_sta_send_add_bss(tpAniSirGlobal pMac, tpSirAssocRsp pAssocRsp,
pe_debug("VHT Caps is in vendor Specfic IE");
}
if (vht_caps != NULL &&
(psessionEntry->txLdpcIniFeatureEnabled & 0x2))
pAddBssParams->staContext.vhtLdpcCapable =
(uint8_t) vht_caps->ldpcCodingCap;
else
(psessionEntry->txLdpcIniFeatureEnabled & 0x2)) {
if (!is_vht_cap_in_vendor_ie)
pAddBssParams->staContext.vhtLdpcCapable =
(uint8_t) pAssocRsp->VHTCaps.ldpcCodingCap;
else
pAddBssParams->staContext.vhtLdpcCapable =
(uint8_t) vht_caps->ldpcCodingCap;
} else {
pAddBssParams->staContext.vhtLdpcCapable = 0;
}
}
if (pBeaconStruct->HTInfo.present)