summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/MAC/inc/sirApi.h3
-rw-r--r--CORE/MAC/src/cfg/cfgUtil/dot11f.frms1
-rw-r--r--CORE/MAC/src/include/dot11f.h3
-rw-r--r--CORE/MAC/src/include/parserApi.h4
-rw-r--r--CORE/MAC/src/pe/lim/limProcessAssocReqFrame.c8
-rw-r--r--CORE/MAC/src/pe/lim/limProcessAssocRspFrame.c8
-rw-r--r--CORE/MAC/src/pe/lim/limSendManagementFrames.c15
-rw-r--r--CORE/MAC/src/pe/lim/limUtils.c8
-rw-r--r--CORE/SYS/legacy/src/utils/src/dot11f.c23
-rw-r--r--CORE/SYS/legacy/src/utils/src/parserApi.c14
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;