Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 906b86fe authored by sheenam monga's avatar sheenam monga Committed by nshrivas
Browse files

qcacld-3.0: Save Beacon Report Error IE in Beacon Report Response

Currently, If STA doesn't send beacon report response to
AP, AP will not be able to know the reason why sta did not
send beacon report as no reason code is defined in
IEEE802.11-2016 standard.

Fix is to add Optional IE in Beacon Report Response which will be
populated based on err code and beacon_report_error_vsie ini.

Change-Id: I91ab0cdfadbe903bdc3085a94b38938a35b693e0
CRs-Fixed: 2614385
parent ca2ecc8a
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -2036,6 +2036,14 @@ IE ESERadMgmtCap (EID_VENDOR_SPECIFIC) OUI (0x00, 0x40, 0x96, 0x01)

}

IE BeaconReportStatus (EID_VENDOR_SPECIFIC) OUI (0x00, 0x00, 0x00F, 0x22)
{
        sub_type,       1;
        version,        1;
        length,         1;
        reason_code,    1;
}

IE Vendor1IE (EID_VENDOR_SPECIFIC) OUI (0x00, 0x10, 0x18)
{
}
@@ -3803,6 +3811,7 @@ FRAME ReAssocRequest // 7.2.3.6
    OPTIE  MobilityDomain;
    OPTIE  FTInfo;
    OPTIE  RICDataDesc[2];
    OPTIE  SuppOperatingClasses;
    OPTIE  WPAOpaque;
    OPTIE  HTCaps;
    OPTIE  WMMCaps;
@@ -4123,6 +4132,7 @@ FRAME RadioMeasurementReport
   FF   DialogToken;
   //Measurement Report elements.
   MANDIE MeasurementReport[1..4];
   OPTIE  BeaconReportStatus;
}

FRAME LinkMeasurementRequest
+89 −46
Original line number Diff line number Diff line
/*
 * Copyright (c) 2012-2019 The Linux Foundation. All rights reserved.
 * Copyright (c) 2012-2020 The Linux Foundation. All rights reserved.
 *
 * Permission to use, copy, modify, and/or distribute this software for
 * any purpose with or without fee is hereby granted, provided that the
@@ -26,7 +26,7 @@
 *
 *
 * This file was automatically generated by 'framesc'
 * Thu Sep 19 14:00:22 2019 from the following file(s):
 * Thu Jan 30 16:28:12 2020 from the following file(s):
 *
 * dot11f.frms
 *
@@ -4408,6 +4408,48 @@ uint32_t dot11f_get_packed_ie_AID(
}; /* End extern "C". */
#endif /* C++ */

/* EID 221 (0xdd) {OUI 0x00, 0x00, 0x0f, 0x22} */
typedef struct sDot11fIEBeaconReportStatus {
	uint8_t             present;
	uint8_t             sub_type;
	uint8_t             version;
	uint8_t             length;
	uint8_t             reason_code;
} tDot11fIEBeaconReportStatus;

#define DOT11F_EID_BEACONREPORTSTATUS (221)

/* N.B. These #defines do *not* include the EID & length */
#define DOT11F_IE_BEACONREPORTSTATUS_MIN_LEN (8)

#define DOT11F_IE_BEACONREPORTSTATUS_MAX_LEN (8)

#ifdef __cplusplus
extern "C" {
#endif /* C++ */
__must_check uint32_t dot11f_unpack_ie_BeaconReportStatus(
	tpAniSirGlobal,
	uint8_t *,
	uint8_t,
	tDot11fIEBeaconReportStatus*,
	bool);

uint32_t dot11f_pack_ie_BeaconReportStatus(
	tpAniSirGlobal,
	tDot11fIEBeaconReportStatus *,
	uint8_t *,
	uint32_t,
	uint32_t*);

uint32_t dot11f_get_packed_ie_BeaconReportStatus(
	tpAniSirGlobal,
	tDot11fIEBeaconReportStatus *,
	uint32_t*);

#ifdef __cplusplus
}; /* End extern "C". */
#endif /* C++ */

/* EID 4 (0x04) */
typedef struct sDot11fIECFParams {
	uint8_t             present;
@@ -10507,6 +10549,7 @@ typedef struct sDot11fRadioMeasurementReport{
	tDot11fFfDialogToken               DialogToken;
	uint16_t                           num_MeasurementReport;
	tDot11fIEMeasurementReport         MeasurementReport[4];
	tDot11fIEBeaconReportStatus        BeaconReportStatus;
} tDot11fRadioMeasurementReport;

#define DOT11F_RADIOMEASUREMENTREPORT (24)
+237 −114

File changed.

Preview size limit exceeded, changes collapsed.