Bläddra i källkod

qcacld-3.0: Update dot11f.frms for new radio measurement types

Update dot11f.frms to decode LCI and Fine Time Measurement in
incoming Radio Measurement frames.

Currently we do not have these new types supported leading to
incorrect frame parsing. Adding these types make sure that
incoming radio measurement request frames are unpacked correctly.

Change-Id: I542bb2b782fed144702c372cbfc314c666c72f53
CRs-Fixed: 980863
Krishna Kumaar Natarajan 9 år sedan
förälder
incheckning
062d054549
3 ändrade filer med 832 tillägg och 379 borttagningar
  1. 163 90
      core/mac/src/cfg/cfgUtil/dot11f.frms
  2. 303 80
      core/mac/src/include/dot11f.h
  3. 366 209
      core/mac/src/sys/legacy/src/utils/src/dot11f.c

+ 163 - 90
core/mac/src/cfg/cfgUtil/dot11f.frms

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2006-2007, 2014-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2006-2007, 2014-2016 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -1469,80 +1469,6 @@ IE TCLAS (EID_TCLAS)                             // 7.3.2.31
     };
 } // End IE TCLASS
 
-const EID_RRM_BEACON_REPORTING     = 1;
-const EID_RRM_BCN_REPORTING_DETAIL = 2;
-
-IE BeaconReporting (EID_RRM_BEACON_REPORTING)
-{
-     reportingCondition, 1;
-     threshold,          1;
-}
-
-IE BcnReportingDetail (EID_RRM_BCN_REPORTING_DETAIL)
-{
-     reportingDetail, 1;
-}
-
-IE APChannelReport (EID_AP_CHAN_REPORT)
-{
-     regulatoryClass, 1;
-     channelList[0..50];
-}
-
-IE MeasurementRequest (EID_MEAS_REQUEST)  // 7.3.2.21
-{
-    measurement_token, 1;
-
-    // Measurement Request Mode
-    {
-        parallel:          1;
-        enable:            1;
-        request:           1;
-        report:            1;
-        durationMandatory: 1;
-        unused:            3;
-    }
-
-    measurement_type, 1;
-    UNION measurement_request (DISCRIMINATOR measurement_type)
-    {
-       Basic (measurement_type IS 0)
-       {
-           channel_no,       1;
-           meas_start_time[8];
-           meas_duration,    2;
-       }
-       CCA (measurement_type IS 1)
-       {
-           channel_no,       1;
-           meas_start_time[8];
-           meas_duration,    2;
-       }
-       RPIHistogram (measurement_type IS 2)
-       {
-           channel_no,       1;
-           meas_start_time[8];
-           meas_duration,    2;
-       }
-       Beacon (measurement_type IS 5)
-       {
-          regClass,          1;
-          channel,           1;
-          randomization,     2;
-          meas_duration,     2;
-          meas_mode,         1;
-          BSSID[6];
-          OPTIE SSID;
-          OPTIE BeaconReporting;
-          OPTIE BcnReportingDetail;
-          OPTIE RequestedInfo;
-          OPTIE APChannelReport[0..2];
-          //OPTIONAL vendor_specific[1..239];
-       }
-
-    };
-}
-
 const EID_BCN_REPORT_FRAME_BODY    = 1;
 IE BeaconReportFrmBody (EID_BCN_REPORT_FRAME_BODY)
 {
@@ -2059,7 +1985,16 @@ IE ht2040_bss_intolerant_report (EID_20_40_BSS_INTOLERANT_REPORT)
 
 const EID_RRM_NBR_RPT_TSF              =    1;
 const EID_RRM_NBR_CD_COUNTRY           =    2;
-const EID_RRM_NBR_MSMT_PILOT_TX_INFO   =   66;
+
+IE TSFInfo (EID_RRM_NBR_RPT_TSF)
+{
+     TsfOffset, 2;
+     BeaconIntvl, 2;
+}
+IE CondensedCountryStr (EID_RRM_NBR_CD_COUNTRY)
+{
+     countryStr[2];
+}
 
 IE NeighborReport (EID_NEIGHBOR_REPORT)
 {
@@ -2089,20 +2024,9 @@ IE NeighborReport (EID_NEIGHBOR_REPORT)
      regulatoryClass, 1;
      channel,         1;
      PhyType,         1;
-     OPTIE IE TSFInfo (EID_RRM_NBR_RPT_TSF)
-     {
-          TsfOffset, 2;
-          BeaconIntvl, 2;
-     }
-     OPTIE IE CondensedCountryStr (EID_RRM_NBR_CD_COUNTRY)
-     {
-          countryStr[2];
-     }
-     OPTIE IE MeasurementPilot; // (EID_RRM_NBR_MSMT_PILOT_TX_INFO)
-//     {
-//          measurementPilot, 1;
-//          vendorSpecific[0..255]; //Should be an IE. But currently only one level of nesting allowed. Can ignore for now.
-//     }
+     OPTIE IE TSFInfo;
+     OPTIE IE CondensedCountryStr;
+     OPTIE IE MeasurementPilot;
      OPTIE IE RRMEnabledCap;
      OPTIE IE MultiBssid;
      //Ignoring vendor specific.
@@ -2466,6 +2390,155 @@ IE TimeAdvertisement (EID_TIME_ADVERTISEMENT)   // 8.4.2.63
     time_error[5];
 }
 
+const EID_RRM_BEACON_REPORTING     = 1;
+const EID_RRM_BCN_REPORTING_DETAIL = 2;
+
+const SUB_EID_AZIMUTH_REQ = 1;
+const SUB_EID_REQ_MAC_ADDR = 2;
+const SUB_EID_TGT_MAC_ADDR = 3;
+const SUB_EID_MAX_AGE = 4;
+const SUB_EID_NEIGHBOR_RPT = 52;
+
+IE BeaconReporting (EID_RRM_BEACON_REPORTING)
+{
+     reportingCondition, 1;
+     threshold,          1;
+}
+
+IE BcnReportingDetail (EID_RRM_BCN_REPORTING_DETAIL)
+{
+     reportingDetail, 1;
+}
+
+IE APChannelReport (EID_AP_CHAN_REPORT)
+{
+     regulatoryClass, 1;
+     channelList[0..50];
+}
+
+IE azimuth_req (SUB_EID_AZIMUTH_REQ)
+{
+    request,    1;
+}
+
+IE req_mac_addr (SUB_EID_REQ_MAC_ADDR)
+{
+    addr[6];
+}
+
+IE tgt_mac_addr (SUB_EID_TGT_MAC_ADDR)
+{
+    addr[6];
+}
+
+IE max_age (SUB_EID_MAX_AGE)
+{
+    max_age,     2;
+}
+
+IE neighbor_rpt (SUB_EID_NEIGHBOR_RPT)
+{
+    bssid[6];
+    //Bssid Info
+    {
+         APReachability: 2;
+         Security:       1;
+         KeyScope:       1;
+         //Capabilities
+         SpecMgmtCap:    1;
+         QosCap:         1;
+         apsd:           1;
+         rrm:            1;
+    }
+    //Capabilities contd.
+    {
+         DelayedBA:      1;
+         ImmBA:          1;
+    //Capabilities end.
+         MobilityDomain: 1;
+         reserved:       5;
+    }
+         reserved1,      2; //part of BSSID Info.
+    regulatoryClass, 1;
+    channel,         1;
+    PhyType,         1;
+    OPTIE IE TSFInfo;
+    OPTIE IE CondensedCountryStr;
+    OPTIE IE MeasurementPilot;
+    OPTIE IE RRMEnabledCap;
+    OPTIE IE MultiBssid;
+}
+
+IE MeasurementRequest (EID_MEAS_REQUEST)  // 7.3.2.21
+{
+    measurement_token, 1;
+
+    // Measurement Request Mode
+    {
+        parallel:          1;
+        enable:            1;
+        request:           1;
+        report:            1;
+        durationMandatory: 1;
+        unused:            3;
+    }
+
+    measurement_type, 1;
+    UNION measurement_request (DISCRIMINATOR measurement_type)
+    {
+       Basic (measurement_type IS 0)
+       {
+           channel_no,       1;
+           meas_start_time[8];
+           meas_duration,    2;
+       }
+       CCA (measurement_type IS 1)
+       {
+           channel_no,       1;
+           meas_start_time[8];
+           meas_duration,    2;
+       }
+       RPIHistogram (measurement_type IS 2)
+       {
+           channel_no,       1;
+           meas_start_time[8];
+           meas_duration,    2;
+       }
+       Beacon (measurement_type IS 5)
+       {
+          regClass,          1;
+          channel,           1;
+          randomization,     2;
+          meas_duration,     2;
+          meas_mode,         1;
+          BSSID[6];
+          OPTIE SSID;
+          OPTIE BeaconReporting;
+          OPTIE BcnReportingDetail;
+          OPTIE RequestedInfo;
+          OPTIE APChannelReport[0..2];
+          //OPTIONAL vendor_specific[1..239];
+       }
+       lci (measurement_type IS 8)
+       {
+          loc_subject,       1;
+          OPTIE azimuth_req;
+          OPTIE req_mac_addr;
+          OPTIE tgt_mac_addr;
+          OPTIE max_age;
+       }
+       ftmrr (measurement_type IS 16)
+       {
+          random_interval,   2;
+          min_ap_count,      1;
+
+          OPTIE neighbor_rpt;
+          OPTIE max_age;
+       }
+
+    };
+}
+
 /////////////////////////////////////////////////////////////////////////////
 //                                MULTIIEs                                 //
 /////////////////////////////////////////////////////////////////////////////

+ 303 - 80
core/mac/src/include/dot11f.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -35,7 +35,7 @@
  *
  *
  * This file was automatically generated by 'framesc'
- * Mon Nov 16 14:10:10 2015 from the following file(s):
+ * Wed Mar  2 11:45:36 2016 from the following file(s):
  *
  * dot11f.frms
  *
@@ -2012,44 +2012,6 @@ uint32_t dot11f_get_packed_tlv_P2PManageability(
  ********************************************************************/
 
 
-/* EID 2 (0x02) */
-typedef struct sDot11fIECondensedCountryStr {
-	uint8_t             present;
-	uint8_t             countryStr[2];
-} tDot11fIECondensedCountryStr;
-
-#define DOT11F_EID_CONDENSEDCOUNTRYSTR (2)
-
-/* N.B. These #defines do *not* include the EID & length */
-#define DOT11F_IE_CONDENSEDCOUNTRYSTR_MIN_LEN (2)
-
-#define DOT11F_IE_CONDENSEDCOUNTRYSTR_MAX_LEN (2)
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* C++ */
-uint32_t dot11f_unpack_ie_condensed_country_str(
-	tpAniSirGlobal,
-	uint8_t *,
-	uint8_t,
-	tDot11fIECondensedCountryStr*);
-
-uint32_t dot11f_pack_ie_condensed_country_str(
-	tpAniSirGlobal,
-	tDot11fIECondensedCountryStr *,
-	uint8_t *,
-	uint32_t,
-	uint32_t*);
-
-uint32_t dot11f_get_packed_ie_CondensedCountryStr(
-	tpAniSirGlobal,
-	tDot11fIECondensedCountryStr *,
-	uint32_t*);
-
-#ifdef __cplusplus
-}; /* End extern "C". */
-#endif /* C++ */
-
 /* EID 2 (0x02) */
 typedef struct sDot11fIEGTK {
 	uint8_t             present;
@@ -2211,45 +2173,6 @@ uint32_t dot11f_get_packed_ie_R1KH_ID(
 }; /* End extern "C". */
 #endif /* C++ */
 
-/* EID 1 (0x01) */
-typedef struct sDot11fIETSFInfo {
-	uint8_t             present;
-	uint16_t            TsfOffset;
-	uint16_t            BeaconIntvl;
-} tDot11fIETSFInfo;
-
-#define DOT11F_EID_TSFINFO (1)
-
-/* N.B. These #defines do *not* include the EID & length */
-#define DOT11F_IE_TSFINFO_MIN_LEN (4)
-
-#define DOT11F_IE_TSFINFO_MAX_LEN (4)
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* C++ */
-uint32_t dot11f_unpack_ie_tsf_info(
-	tpAniSirGlobal,
-	uint8_t *,
-	uint8_t,
-	tDot11fIETSFInfo*);
-
-uint32_t dot11f_pack_ie_tsf_info(
-	tpAniSirGlobal,
-	tDot11fIETSFInfo *,
-	uint8_t *,
-	uint32_t,
-	uint32_t*);
-
-uint32_t dot11f_get_packed_ie_TSFInfo(
-	tpAniSirGlobal,
-	tDot11fIETSFInfo *,
-	uint32_t*);
-
-#ifdef __cplusplus
-}; /* End extern "C". */
-#endif /* C++ */
-
 /* EID 51 (0x33) */
 typedef struct sDot11fIEAPChannelReport {
 	uint8_t             present;
@@ -2406,6 +2329,44 @@ uint32_t dot11f_get_packed_ie_BeaconReporting(
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 2 (0x02) */
+typedef struct sDot11fIECondensedCountryStr {
+	uint8_t             present;
+	uint8_t             countryStr[2];
+} tDot11fIECondensedCountryStr;
+
+#define DOT11F_EID_CONDENSEDCOUNTRYSTR (2)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_CONDENSEDCOUNTRYSTR_MIN_LEN (2)
+
+#define DOT11F_IE_CONDENSEDCOUNTRYSTR_MAX_LEN (2)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_condensed_country_str(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIECondensedCountryStr*);
+
+uint32_t dot11f_pack_ie_condensed_country_str(
+	tpAniSirGlobal,
+	tDot11fIECondensedCountryStr *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_CondensedCountryStr(
+	tpAniSirGlobal,
+	tDot11fIECondensedCountryStr *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 66 (0x42) */
 typedef struct sDot11fIEMeasurementPilot {
 	uint8_t             present;
@@ -2904,6 +2865,45 @@ uint32_t dot11f_get_packed_ie_TSDelay(
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 1 (0x01) */
+typedef struct sDot11fIETSFInfo {
+	uint8_t             present;
+	uint16_t            TsfOffset;
+	uint16_t            BeaconIntvl;
+} tDot11fIETSFInfo;
+
+#define DOT11F_EID_TSFINFO (1)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_TSFINFO_MIN_LEN (4)
+
+#define DOT11F_IE_TSFINFO_MAX_LEN (4)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_tsf_info(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIETSFInfo*);
+
+uint32_t dot11f_pack_ie_tsf_info(
+	tpAniSirGlobal,
+	tDot11fIETSFInfo *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_TSFInfo(
+	tpAniSirGlobal,
+	tDot11fIETSFInfo *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 13 (0x0d) */
 typedef struct sDot11fIETSPEC {
 	uint8_t             present;
@@ -3371,6 +3371,216 @@ uint32_t dot11f_get_packed_ie_WiderBWChanSwitchAnn(
 }; /* End extern "C". */
 #endif /* C++ */
 
+/* EID 1 (0x01) */
+typedef struct sDot11fIEazimuth_req {
+	uint8_t             present;
+	uint8_t             request;
+} tDot11fIEazimuth_req;
+
+#define DOT11F_EID_AZIMUTH_REQ (1)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_AZIMUTH_REQ_MIN_LEN (1)
+
+#define DOT11F_IE_AZIMUTH_REQ_MAX_LEN (1)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_azimuth_req(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEazimuth_req*);
+
+uint32_t dot11f_pack_ie_azimuth_req(
+	tpAniSirGlobal,
+	tDot11fIEazimuth_req *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_azimuth_req(
+	tpAniSirGlobal,
+	tDot11fIEazimuth_req *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
+/* EID 4 (0x04) */
+typedef struct sDot11fIEmax_age {
+	uint8_t             present;
+	uint16_t            max_age;
+} tDot11fIEmax_age;
+
+#define DOT11F_EID_MAX_AGE (4)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_MAX_AGE_MIN_LEN (2)
+
+#define DOT11F_IE_MAX_AGE_MAX_LEN (2)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_max_age(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEmax_age*);
+
+uint32_t dot11f_pack_ie_max_age(
+	tpAniSirGlobal,
+	tDot11fIEmax_age *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_max_age(
+	tpAniSirGlobal,
+	tDot11fIEmax_age *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
+/* EID 52 (0x34) */
+typedef struct sDot11fIEneighbor_rpt {
+	uint8_t                             present;
+	uint8_t                             bssid[6];
+	uint8_t                       APReachability:2;
+	uint8_t                             Security:1;
+	uint8_t                             KeyScope:1;
+	uint8_t                          SpecMgmtCap:1;
+	uint8_t                               QosCap:1;
+	uint8_t                                 apsd:1;
+	uint8_t                                  rrm:1;
+	uint8_t                            DelayedBA:1;
+	uint8_t                                ImmBA:1;
+	uint8_t                       MobilityDomain:1;
+	uint8_t                             reserved:5;
+	uint16_t                            reserved1;
+	uint8_t                             regulatoryClass;
+	uint8_t                             channel;
+	uint8_t                             PhyType;
+	tDot11fIETSFInfo                    TSFInfo;
+	tDot11fIECondensedCountryStr        CondensedCountryStr;
+	tDot11fIEMeasurementPilot           MeasurementPilot;
+	tDot11fIERRMEnabledCap              RRMEnabledCap;
+	tDot11fIEMultiBssid                 MultiBssid;
+} tDot11fIEneighbor_rpt;
+
+#define DOT11F_EID_NEIGHBOR_RPT (52)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_NEIGHBOR_RPT_MIN_LEN (13)
+
+#define DOT11F_IE_NEIGHBOR_RPT_MAX_LEN (546)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_neighbor_rpt(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEneighbor_rpt*);
+
+uint32_t dot11f_pack_ie_neighbor_rpt(
+	tpAniSirGlobal,
+	tDot11fIEneighbor_rpt *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_neighbor_rpt(
+	tpAniSirGlobal,
+	tDot11fIEneighbor_rpt *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
+/* EID 2 (0x02) */
+typedef struct sDot11fIEreq_mac_addr {
+	uint8_t             present;
+	uint8_t             addr[6];
+} tDot11fIEreq_mac_addr;
+
+#define DOT11F_EID_REQ_MAC_ADDR (2)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_REQ_MAC_ADDR_MIN_LEN (6)
+
+#define DOT11F_IE_REQ_MAC_ADDR_MAX_LEN (6)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_req_mac_addr(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEreq_mac_addr*);
+
+uint32_t dot11f_pack_ie_req_mac_addr(
+	tpAniSirGlobal,
+	tDot11fIEreq_mac_addr *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_req_mac_addr(
+	tpAniSirGlobal,
+	tDot11fIEreq_mac_addr *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
+/* EID 3 (0x03) */
+typedef struct sDot11fIEtgt_mac_addr {
+	uint8_t             present;
+	uint8_t             addr[6];
+} tDot11fIEtgt_mac_addr;
+
+#define DOT11F_EID_TGT_MAC_ADDR (3)
+
+/* N.B. These #defines do *not* include the EID & length */
+#define DOT11F_IE_TGT_MAC_ADDR_MIN_LEN (6)
+
+#define DOT11F_IE_TGT_MAC_ADDR_MAX_LEN (6)
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* C++ */
+uint32_t dot11f_unpack_ie_tgt_mac_addr(
+	tpAniSirGlobal,
+	uint8_t *,
+	uint8_t,
+	tDot11fIEtgt_mac_addr*);
+
+uint32_t dot11f_pack_ie_tgt_mac_addr(
+	tpAniSirGlobal,
+	tDot11fIEtgt_mac_addr *,
+	uint8_t *,
+	uint32_t,
+	uint32_t*);
+
+uint32_t dot11f_get_packed_ie_tgt_mac_addr(
+	tpAniSirGlobal,
+	tDot11fIEtgt_mac_addr *,
+	uint32_t*);
+
+#ifdef __cplusplus
+}; /* End extern "C". */
+#endif /* C++ */
+
 /* EID 197 (0xc5) */
 typedef struct sDot11fIEAID {
 	uint8_t             present;
@@ -4588,13 +4798,26 @@ typedef struct sDot11fIEMeasurementRequest {
 	uint16_t num_APChannelReport;
 	tDot11fIEAPChannelReport APChannelReport[2];
 		} Beacon; /* measurement_type = 5 */
+		struct {
+			uint8_t loc_subject;
+	tDot11fIEazimuth_req azimuth_req;
+	tDot11fIEreq_mac_addr req_mac_addr;
+	tDot11fIEtgt_mac_addr tgt_mac_addr;
+	tDot11fIEmax_age max_age;
+		} lci; /* measurement_type = 8 */
+		struct {
+			uint16_t random_interval;
+			uint8_t min_ap_count;
+	tDot11fIEneighbor_rpt neighbor_rpt;
+	tDot11fIEmax_age max_age;
+		} ftmrr; /* measurement_type = 16 */
 	} measurement_request;
 } tDot11fIEMeasurementRequest;
 
 #define DOT11F_EID_MEASUREMENTREQUEST (38)
 
 /* N.B. These #defines do *not* include the EID & length */
-#define DOT11F_IE_MEASUREMENTREQUEST_MIN_LEN (14)
+#define DOT11F_IE_MEASUREMENTREQUEST_MIN_LEN (4)
 
 #define DOT11F_IE_MEASUREMENTREQUEST_MAX_LEN (16)
 

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 366 - 209
core/mac/src/sys/legacy/src/utils/src/dot11f.c


Vissa filer visades inte eftersom för många filer har ändrats