From 8eec1246f404f53c47fbb1dfd508c16fc619111d Mon Sep 17 00:00:00 2001 From: "Edhar, Mahesh Kumar" Date: Wed, 9 Oct 2013 19:14:57 +0530 Subject: CLD:Fix the wrong updation of buffer pointer in limStartBssReqSerDes currently we are copying extended rates and updating the buffer pointers only if the network type is G/N. In the case where network type is other than G/N this is resulting in wrong updation of remaining fields in the buffer. Therefore made changes to update the buffer pointers irrespective our interest in extended rates. Change-Id: I997cd80e1c6e2ecbdfb3952760a44cea94422f92 CRs-Fixed: 554953,554965 --- CORE/MAC/src/pe/lim/limSerDesUtils.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CORE/MAC/src/pe/lim/limSerDesUtils.c b/CORE/MAC/src/pe/lim/limSerDesUtils.c index 083ca5239dd0..512b38baf6a9 100644 --- a/CORE/MAC/src/pe/lim/limSerDesUtils.c +++ b/CORE/MAC/src/pe/lim/limSerDesUtils.c @@ -713,16 +713,22 @@ limStartBssReqSerDes(tpAniSirGlobal pMac, tpSirSmeStartBssReq pStartBssReq, tANI len -= pStartBssReq->operationalRateSet.numRates; // Extract extendedRateSet + pStartBssReq->extendedRateSet.numRates = *pBuf++; + len--; if ((pStartBssReq->nwType == eSIR_11G_NW_TYPE) || (pStartBssReq->nwType == eSIR_11N_NW_TYPE )) { - pStartBssReq->extendedRateSet.numRates = *pBuf++; - len--; palCopyMemory( pMac->hHdd, pStartBssReq->extendedRateSet.rate, pBuf, pStartBssReq->extendedRateSet.numRates); pBuf += pStartBssReq->extendedRateSet.numRates; len -= pStartBssReq->extendedRateSet.numRates; } + else + { + pBuf += pStartBssReq->extendedRateSet.numRates; + len -= pStartBssReq->extendedRateSet.numRates; + pStartBssReq->extendedRateSet.numRates = 0; + } palCopyMemory(pMac->hHdd, &(pStartBssReq->htConfig), pBuf, sizeof(tSirHTConfig)); -- cgit v1.2.3