From 74fc571c1100e205060b2a37028365a6fbacbbc7 Mon Sep 17 00:00:00 2001 From: Arif Hussain Date: Wed, 20 Jul 2016 11:10:01 -0700 Subject: [PATCH] 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 --- core/mac/src/pe/lim/lim_assoc_utils.c | 14 +++++++------- core/mac/src/sys/legacy/src/utils/src/parser_api.c | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c index d271634480..8a3f06c7f6 100644 --- a/core/mac/src/pe/lim/lim_assoc_utils.c +++ b/core/mac/src/pe/lim/lim_assoc_utils.c @@ -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 diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index 3bbb6dc88b..7a41f49692 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -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 =