diff options
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 3 | ||||
| -rw-r--r-- | CORE/MAC/src/cfg/cfgUtil/dot11f.frms | 1 | ||||
| -rw-r--r-- | CORE/MAC/src/include/dot11f.h | 3 | ||||
| -rw-r--r-- | CORE/MAC/src/include/parserApi.h | 4 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c | 8 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c | 8 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSendManagementFrames.c | 15 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limUtils.c | 8 | ||||
| -rw-r--r-- | CORE/SYS/legacy/src/utils/src/dot11f.c | 23 | ||||
| -rw-r--r-- | CORE/SYS/legacy/src/utils/src/parserApi.c | 14 |
10 files changed, 56 insertions, 31 deletions
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h index 13f1f3fbb688..2e3e77f4b2b3 100644 --- a/CORE/MAC/inc/sirApi.h +++ b/CORE/MAC/inc/sirApi.h @@ -5792,7 +5792,8 @@ typedef struct #define RTT_INVALID 0x00 #define RTT_TIMING_MEAS_CAPABILITY 0x01 -#define RTT_FINE_TIMING_MEAS_CAPABILITY 0x02 +#define RTT_FINE_TIME_MEAS_INITIATOR_CAPABILITY 0x02 +#define RTT_FINE_TIME_MEAS_RESPONDER_CAPABILITY 0x03 /* number of neighbor reports that we can handle in Neighbor Report Response */ #define MAX_SUPPORTED_NEIGHBOR_RPT 15 diff --git a/CORE/MAC/src/cfg/cfgUtil/dot11f.frms b/CORE/MAC/src/cfg/cfgUtil/dot11f.frms index 97740a94f53a..6e021c48b270 100644 --- a/CORE/MAC/src/cfg/cfgUtil/dot11f.frms +++ b/CORE/MAC/src/cfg/cfgUtil/dot11f.frms @@ -3368,6 +3368,7 @@ FRAME ProbeRequest // 7.2.3.8 OPTIE WFATPC; OPTIE P2PProbeReq; OPTIE VHTCaps; + OPTIE ExtCap; } // End frame ProbeRequest. FRAME ProbeResponse // 7.2.3.9 diff --git a/CORE/MAC/src/include/dot11f.h b/CORE/MAC/src/include/dot11f.h index b522dd05e5de..0f9e2a3e057d 100644 --- a/CORE/MAC/src/include/dot11f.h +++ b/CORE/MAC/src/include/dot11f.h @@ -37,7 +37,7 @@ * * * This file was automatically generated by 'framesc' - * Thu Mar 19 17:16:31 2015 from the following file(s): + * Thu Apr 30 13:39:44 2015 from the following file(s): * * dot11f.frms * @@ -6795,6 +6795,7 @@ typedef struct sDot11fProbeRequest{ tDot11fIEWFATPC WFATPC; tDot11fIEP2PProbeReq P2PProbeReq; tDot11fIEVHTCaps VHTCaps; + tDot11fIEExtCap ExtCap; } tDot11fProbeRequest; #define DOT11F_PROBEREQUEST ( 36 ) diff --git a/CORE/MAC/src/include/parserApi.h b/CORE/MAC/src/include/parserApi.h index ffc00b1696eb..03fa7c5fe676 100644 --- a/CORE/MAC/src/include/parserApi.h +++ b/CORE/MAC/src/include/parserApi.h @@ -398,8 +398,8 @@ struct s_ext_cap { uint8_t NwChanControl: 1; uint8_t WhiteSpaceMap: 1; uint8_t ChanAvailQuery: 1; - uint8_t fineTimingMeas: 1; - uint8_t reserved7: 1; + uint8_t fine_time_meas_responder: 1; + uint8_t fine_time_meas_initiator: 1; }; tANI_U8 diff --git a/CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c b/CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c index 1825e7adf287..767a25dc2040 100644 --- a/CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c +++ b/CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c @@ -1384,13 +1384,13 @@ if (limPopulateMatchingRateSet(pMac, pStaDs->timingMeasCap |= (p_ext_cap->timingMeas)? RTT_TIMING_MEAS_CAPABILITY: RTT_INVALID; - pStaDs->timingMeasCap |= (p_ext_cap->fineTimingMeas)? - RTT_FINE_TIMING_MEAS_CAPABILITY: + pStaDs->timingMeasCap |= (p_ext_cap->fine_time_meas_initiator)? + RTT_FINE_TIME_MEAS_INITIATOR_CAPABILITY: RTT_INVALID; PELOG1(limLog(pMac, LOG1, - FL("ExtCap present, timingMeas: %d fineTimingMeas: %d"), + FL("ExtCap present, timingMeas: %d ftm_initiator: %d"), p_ext_cap->timingMeas, - p_ext_cap->fineTimingMeas);) + p_ext_cap->fine_time_meas_initiator);) } else { diff --git a/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c b/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c index a98912ee1e29..7237f453f4a7 100644 --- a/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c +++ b/CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c @@ -935,13 +935,13 @@ limProcessAssocRspFrame(tpAniSirGlobal pMac, tANI_U8 *pRxPacketInfo, tANI_U8 sub pStaDs->timingMeasCap |= (p_ext_cap->timingMeas)? RTT_TIMING_MEAS_CAPABILITY: RTT_INVALID; - pStaDs->timingMeasCap |= (p_ext_cap->fineTimingMeas)? - RTT_FINE_TIMING_MEAS_CAPABILITY: + pStaDs->timingMeasCap |= (p_ext_cap->fine_time_meas_initiator)? + RTT_FINE_TIME_MEAS_INITIATOR_CAPABILITY: RTT_INVALID; PELOG1(limLog(pMac, LOG1, - FL("ExtCap present, timingMeas: %d fineTimingMeas: %d"), + FL("ExtCap present, timingMeas: %d ftm_initiator: %d"), p_ext_cap->timingMeas, - p_ext_cap->fineTimingMeas);) + p_ext_cap->fine_time_meas_initiator);) #ifdef FEATURE_WLAN_TDLS psessionEntry->tdls_prohibited = p_ext_cap->TDLSProhibited; diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c index 32dfe14e2baa..be02b54c7923 100644 --- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c +++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c @@ -393,6 +393,7 @@ limSendProbeReqMgmtFrame(tpAniSirGlobal pMac, tANI_U8 *p2pIe = NULL; tANI_U8 txFlag = 0; tANI_U8 smeSessionId = 0; + bool isVHTEnabled = false; @@ -501,19 +502,19 @@ limSendProbeReqMgmtFrame(tpAniSirGlobal pMac, #ifdef WLAN_FEATURE_11AC if (psessionEntry != NULL ) { psessionEntry->vhtCapability = IS_DOT11_MODE_VHT(dot11mode); - //Include HT Capability IE - if (psessionEntry->vhtCapability) - { + /* Include VHT Capability IE */ + if (psessionEntry->vhtCapability) { PopulateDot11fVHTCaps( pMac, psessionEntry, &pr.VHTCaps ); + isVHTEnabled = true; } - } else { - if (IS_DOT11_MODE_VHT(dot11mode)) - { + } else { + if (IS_DOT11_MODE_VHT(dot11mode)) { PopulateDot11fVHTCaps( pMac, psessionEntry, &pr.VHTCaps ); + isVHTEnabled = true; } } #endif - + PopulateDot11fExtCap(pMac, isVHTEnabled, &pr.ExtCap, psessionEntry); // That's it-- now we pack it. First, how much space are we going to // need? diff --git a/CORE/MAC/src/pe/lim/limUtils.c b/CORE/MAC/src/pe/lim/limUtils.c index eff2c6d57b5e..60e4400bc083 100644 --- a/CORE/MAC/src/pe/lim/limUtils.c +++ b/CORE/MAC/src/pe/lim/limUtils.c @@ -7948,14 +7948,14 @@ void lim_sap_offload_add_sta(tpAniSirGlobal pmac, tpSirMsgQ lim_msgq) sta_ds->timingMeasCap |= (p_ext_cap->timingMeas)? RTT_TIMING_MEAS_CAPABILITY : RTT_INVALID; - sta_ds->timingMeasCap |= (p_ext_cap->fineTimingMeas)? - RTT_FINE_TIMING_MEAS_CAPABILITY : + sta_ds->timingMeasCap |= (p_ext_cap->fine_time_meas_initiator)? + RTT_FINE_TIME_MEAS_INITIATOR_CAPABILITY : RTT_INVALID; PELOG1(limLog(pMac, LOG1, - FL("ExtCap present, timingMeas: %d fineTimingMeas: %d"), + FL("ExtCap present, timingMeas: %d ftm_initiator: %d"), p_ext_cap->timingMeas, - p_ext_cap->fineTimingMeas);) + p_ext_cap->fine_time_meas_initiator);) } else { sta_ds->timingMeasCap = 0; PELOG1(limLog(pmac, LOG1, FL("ExtCap not present"));) diff --git a/CORE/SYS/legacy/src/utils/src/dot11f.c b/CORE/SYS/legacy/src/utils/src/dot11f.c index c5e62baed085..bf5187055656 100644 --- a/CORE/SYS/legacy/src/utils/src/dot11f.c +++ b/CORE/SYS/legacy/src/utils/src/dot11f.c @@ -35,7 +35,7 @@ * * * This file was automatically generated by 'framesc' - * Thu Mar 19 17:16:31 2015 from the following file(s): + * Thu Apr 30 13:39:44 2015 from the following file(s): * * dot11f.frms * @@ -12591,6 +12591,7 @@ tANI_U32 dot11fUnpackPresenceRes(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nB {offsetof(tDot11fProbeRequest, WFATPC), offsetof(tDot11fIEWFATPC, present), 0, "WFATPC" , 0, 9, 9, SigIeWFATPC, {0, 80, 242, 8, 0}, 5, DOT11F_EID_WFATPC, 0, }, {offsetof(tDot11fProbeRequest, P2PProbeReq), offsetof(tDot11fIEP2PProbeReq, present), 0, "P2PProbeReq" , 0, 6, 43, SigIeP2PProbeReq, {80, 111, 154, 9, 0}, 4, DOT11F_EID_P2PPROBEREQ, 0, }, {offsetof(tDot11fProbeRequest, VHTCaps), offsetof(tDot11fIEVHTCaps, present), 0, "VHTCaps" , 0, 14, 14, SigIeVHTCaps, {0, 0, 0, 0, 0}, 0, DOT11F_EID_VHTCAPS, 0, }, + {offsetof(tDot11fProbeRequest, ExtCap), offsetof(tDot11fIEExtCap, present), 0, "ExtCap" , 0, 10, 11, SigIeExtCap, {0, 0, 0, 0, 0}, 0, DOT11F_EID_EXTCAP, 0, }, {0, 0, 0, NULL, 0, 0, 0, 0, {0, 0, 0, 0, 0}, 0, 0xff, 0, }, }; tANI_U32 dot11fUnpackProbeRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 nBuf, tDot11fProbeRequest *pFrm) @@ -12995,6 +12996,16 @@ tANI_U32 dot11fUnpackProbeRequest(tpAniSirGlobal pCtx, tANI_U8 *pBuf, tANI_U32 n FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("txSupDataRate (13): %d\n"), pFrm->VHTCaps.txSupDataRate); FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("reserved3 (3): %d\n"), pFrm->VHTCaps.reserved3); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("ExtCap:\n")); + if (!pFrm->ExtCap.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("num_bytes: %d.\n"), pFrm->ExtCap.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), ( tANI_U8* ) pFrm->ExtCap.bytes, pFrm->ExtCap.num_bytes); + } } # endif // DOT11F_DUMP_FRAMES return status; @@ -36401,6 +36412,16 @@ tANI_U32 dot11fPackProbeRequest(tpAniSirGlobal pCtx, tDot11fProbeRequest *pFrm, FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("txSupDataRate (13): %d\n"), pFrm->VHTCaps.txSupDataRate); FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("reserved3 (3): %d\n"), pFrm->VHTCaps.reserved3); } + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("ExtCap:\n")); + if (!pFrm->ExtCap.present) + { + FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("Not present.\n")); + } + else + { + FRAMES_LOG1(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("num_bytes: %d.\n"), pFrm->ExtCap.num_bytes); + FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), ( tANI_U8* ) pFrm->ExtCap.bytes, pFrm->ExtCap.num_bytes); + } FRAMES_LOG0(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), FRFL("to:\n")); FRAMES_DUMP(pCtx, FRAMES_SEV_FOR_FRAME(pCtx, DOT11F_PROBEREQUEST), pBuf, nBuf); } diff --git a/CORE/SYS/legacy/src/utils/src/parserApi.c b/CORE/SYS/legacy/src/utils/src/parserApi.c index a352e7273376..e72288496acb 100644 --- a/CORE/SYS/legacy/src/utils/src/parserApi.c +++ b/CORE/SYS/legacy/src/utils/src/parserApi.c @@ -1163,7 +1163,7 @@ PopulateDot11fExtCap(tpAniSirGlobal pMac, if (val) // If set to true then set RTTv3 { - p_ext_cap->fineTimingMeas = 1; + p_ext_cap->fine_time_meas_initiator = 1; } #ifdef QCA_HT_2040_COEX @@ -2573,8 +2573,8 @@ sirConvertAssocReqFrame2Struct(tpAniSirGlobal pMac, p_ext_cap = (struct s_ext_cap *)&pAssocReq->ExtCap.bytes; limLog(pMac, LOG1, - FL("ExtCap is present, timingMeas: %d, fineTimingMeas: %d"), - p_ext_cap->timingMeas, p_ext_cap->fineTimingMeas); + FL("ExtCap is present, timingMeas: %d, ftm_initiator: %d"), + p_ext_cap->timingMeas, p_ext_cap->fine_time_meas_initiator); } vos_mem_free(ar); return eSIR_SUCCESS; @@ -2765,8 +2765,8 @@ sirConvertAssocRespFrame2Struct(tpAniSirGlobal pMac, ar.ExtCap.num_bytes); p_ext_cap = (struct s_ext_cap *)&pAssocRsp->ExtCap.bytes; limLog(pMac, LOG1, - FL("ExtCap is present, timingMeas: %d, fineTimingMeas: %d"), - p_ext_cap->timingMeas, p_ext_cap->fineTimingMeas); + FL("ExtCap is present, timingMeas: %d, ftm_initiator: %d"), + p_ext_cap->timingMeas, p_ext_cap->fine_time_meas_initiator); } if ( ar.QosMapSet.present ) @@ -2964,8 +2964,8 @@ sirConvertReassocReqFrame2Struct(tpAniSirGlobal pMac, vos_mem_copy(&pAssocReq->ExtCap.bytes, &ar.ExtCap.bytes, ar.ExtCap.num_bytes); limLog(pMac, LOG1, - FL("ExtCap is present, timingMeas: %d, fineTimingMeas: %d"), - p_ext_cap->timingMeas, p_ext_cap->fineTimingMeas); + FL("ExtCap is present, timingMeas: %d, ftm_initiator: %d"), + p_ext_cap->timingMeas, p_ext_cap->fine_time_meas_initiator); } return eSIR_SUCCESS; |
