qcacld-3.0: Fix the Nss config issues in 160MHz

Currently pdev_nss is used to populate VHT and HT capabilities
causing STA to advertise  2NSS capabilities in peer assoc for 160MHz.
Populate the VHT and HT MCS based on Nss value of that session
and send the correct Nss values to FW to use appropriate rates in Tx.

Change-Id: If78e7d4fb2238c1e83ee4f8f71a9ace2fcaddfd9
CRs-Fixed: 1043757
This commit is contained in:
Arif Hussain
2016-07-20 11:10:01 -07:00
committed by Anjaneedevi Kapparapu
parent 4a2e22862b
commit 74fc571c11
2 changed files with 9 additions and 9 deletions

View File

@@ -1419,7 +1419,7 @@ tSirRetStatus lim_populate_vht_mcs_set(tpAniSirGlobal mac_ctx,
QDF_MIN(rates->vhtRxHighestDataRate,
peer_vht_caps->rxHighSupDataRate);
if (session_entry && session_entry->vdev_nss == NSS_2x2_MODE) {
if (session_entry && session_entry->nss == NSS_2x2_MODE) {
if (mac_ctx->lteCoexAntShare &&
IS_24G_CH(session_entry->currentOperChannel)) {
if (IS_2X2_CHAIN(session_entry->chainMask))
@@ -1637,7 +1637,7 @@ lim_populate_own_rate_set(tpAniSirGlobal mac_ctx,
return eSIR_FAILURE;
}
if (session_entry->vdev_nss == NSS_1x1_MODE)
if (session_entry->nss == NSS_1x1_MODE)
rates->supportedMCSSet[1] = 0;
/*
* if supported MCS Set of the peer is passed in,
@@ -1657,7 +1657,7 @@ lim_populate_own_rate_set(tpAniSirGlobal mac_ctx,
rates->supportedMCSSet[i]);)
}
lim_populate_vht_mcs_set(mac_ctx, rates, vht_caps,
session_entry, session_entry->vdev_nss);
session_entry, session_entry->nss);
return eSIR_SUCCESS;
}
@@ -1779,7 +1779,7 @@ lim_populate_peer_rate_set(tpAniSirGlobal pMac,
)
return eSIR_FAILURE;
}
if (psessionEntry->vdev_nss == NSS_1x1_MODE)
if (psessionEntry->nss == NSS_1x1_MODE)
pRates->supportedMCSSet[1] = 0;
/* if supported MCS Set of the peer is passed in, then do the
@@ -1803,7 +1803,7 @@ lim_populate_peer_rate_set(tpAniSirGlobal pMac,
psessionEntry->supported_nss_1x1);
}
lim_populate_vht_mcs_set(pMac, pRates, pVHTCaps,
psessionEntry, psessionEntry->vdev_nss);
psessionEntry, psessionEntry->nss);
return eSIR_SUCCESS;
} /*** lim_populate_peer_rate_set() ***/
@@ -2009,7 +2009,7 @@ tSirRetStatus lim_populate_matching_rate_set(tpAniSirGlobal mac_ctx,
return eSIR_FAILURE;
}
if (session_entry->vdev_nss == NSS_1x1_MODE)
if (session_entry->nss == NSS_1x1_MODE)
mcs_set[1] = 0;
for (i = 0; i < val; i++)
@@ -2025,7 +2025,7 @@ tSirRetStatus lim_populate_matching_rate_set(tpAniSirGlobal mac_ctx,
}
}
lim_populate_vht_mcs_set(mac_ctx, &sta_ds->supportedRates, vht_caps,
session_entry, session_entry->vdev_nss);
session_entry, session_entry->nss);
/*
* Set the erpEnabled bit if the phy is in G mode and at least
* one A rate is supported

View File

@@ -767,7 +767,7 @@ populate_dot11f_ht_caps(tpAniSirGlobal pMac,
}
}
}
if (psessionEntry->vdev_nss == NSS_1x1_MODE)
if (psessionEntry->nss == NSS_1x1_MODE)
pDot11f->supportedMCSSet[1] = 0;
}
@@ -1116,7 +1116,7 @@ populate_dot11f_vht_caps(tpAniSirGlobal pMac,
pDot11f->rxMCSMap |= DISABLE_NSS2_MCS;
}
}
if (psessionEntry->vdev_nss == NSS_1x1_MODE) {
if (psessionEntry->nss == NSS_1x1_MODE) {
pDot11f->txMCSMap |= DISABLE_NSS2_MCS;
pDot11f->rxMCSMap |= DISABLE_NSS2_MCS;
pDot11f->txSupDataRate =