diff options
| author | Rajesh Chauhan <rajeshc@qca.qualcomm.com> | 2014-01-22 10:29:54 -0800 |
|---|---|---|
| committer | Prakash Dhavali <pdhavali@qca.qualcomm.com> | 2014-01-29 12:06:38 -0800 |
| commit | d13c53d57b3535d4920914736b4b0369cccdc5ec (patch) | |
| tree | 049a8726435f81b1246739ebea1c4c1d7406ce68 | |
| parent | 8f3607eeddd2340f1f2c15ea2a3683c3d563a25a (diff) | |
qcacld: Fix issue in ht/vht caps in change sta for a TDLS peer
Fill ht/vht capability info in sta param in change sta operation
so that capability info can be correctly passed down to target in
peer assoc for a TDLS peer sta.
Change-Id: I5e2b24aa39c9d42c7f83b1d9a1a228d12463b94f
CRs-Fixed: 605219
| -rw-r--r-- | CORE/MAC/src/include/dphGlobal.h | 5 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limAssocUtils.c | 12 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessTdls.c | 2 |
3 files changed, 19 insertions, 0 deletions
diff --git a/CORE/MAC/src/include/dphGlobal.h b/CORE/MAC/src/include/dphGlobal.h index 3a6ccaf6d78d..af0cb88ab300 100644 --- a/CORE/MAC/src/include/dphGlobal.h +++ b/CORE/MAC/src/include/dphGlobal.h @@ -605,6 +605,11 @@ typedef struct sDphHashNode tANI_U8 htLdpcCapable; tANI_U8 vhtLdpcCapable; +#ifdef FEATURE_WLAN_TDLS + tANI_U16 ht_caps; + tANI_U32 vht_caps; +#endif + /* When a station with already an existing dph entry tries to * associate again, the old dph entry will be zeroed out except diff --git a/CORE/MAC/src/pe/lim/limAssocUtils.c b/CORE/MAC/src/pe/lim/limAssocUtils.c index aaa76daec0e5..cf1c486c1b7d 100644 --- a/CORE/MAC/src/pe/lim/limAssocUtils.c +++ b/CORE/MAC/src/pe/lim/limAssocUtils.c @@ -2600,6 +2600,18 @@ limAddSta( (vht_caps.reserved1 << SIR_MAC_VHT_CAP_RESERVED2)); } +#ifdef FEATURE_WLAN_TDLS + if (STA_ENTRY_TDLS_PEER == pStaDs->staType) + { + pAddStaParams->ht_caps = pStaDs->ht_caps; + pAddStaParams->vht_caps = pStaDs->vht_caps; + + VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_INFO, + "%s: Sta type is TDLS_PEER, ht_caps: 0x%x, vht_caps: 0x%x", + __func__, pAddStaParams->ht_caps, pAddStaParams->vht_caps); + } +#endif + //Disable BA. It will be set as part of ADDBA negotiation. for( i = 0; i < STACFG_MAX_TC; i++ ) { diff --git a/CORE/MAC/src/pe/lim/limProcessTdls.c b/CORE/MAC/src/pe/lim/limProcessTdls.c index bca20e832756..7082ee64da26 100644 --- a/CORE/MAC/src/pe/lim/limProcessTdls.c +++ b/CORE/MAC/src/pe/lim/limProcessTdls.c @@ -2771,6 +2771,7 @@ static void limTdlsUpdateHashNodeInfo(tpAniSirGlobal pMac, tDphHashNode *pStaDs, htCaps->supportedMCSSet); pStaDs->baPolicyFlag = 0xFF; pMac->lim.gLimTdlsLinkMode = TDLS_LINK_MODE_N ; + pStaDs->ht_caps = pTdlsAddStaReq->htCap.capInfo; } else { @@ -2800,6 +2801,7 @@ static void limTdlsUpdateHashNodeInfo(tpAniSirGlobal pMac, tDphHashNode *pStaDs, pStaDs->vhtBeamFormerCapable= pVhtCaps->suBeamFormerCap; // TODO , is it necessary , Sunil??? pMac->lim.gLimTdlsLinkMode = TDLS_LINK_MODE_AC; + pStaDs->vht_caps = pTdlsAddStaReq->vhtCap.vhtCapInfo; } else { |
