Revert "qcacld-3.0: Add support to send bcn rpt resp err to AP"
This reverts commit 26165abdd8f39c07e6108ca4543ccfeb0a29b6f6.
Change-Id: I19913dabaab51b366df7cdc5783e45b949b5072a
CRs-Fixed: 2635659
diff --git a/Kbuild b/Kbuild
index 0af1288..79dff01 100644
--- a/Kbuild
+++ b/Kbuild
@@ -2228,7 +2228,6 @@
cppflags-$(CONFIG_DIRECT_BUF_RX_ENABLE) += -DDBR_MULTI_SRNG_ENABLE
cppflags-$(CONFIG_WMI_CMD_STRINGS) += -DWMI_CMD_STRINGS
cppflags-$(CONFIG_WLAN_FEATURE_TWT) += -DWLAN_SUPPORT_TWT
-cppflags-$(CONFIG_WLAN_FEATURE_BCN_RPT_VSIE) += -DWLAN_FEATURE_BCN_RPT_VSIE
cppflags-$(CONFIG_WLAN_DISABLE_EXPORT_SYMBOL) += -DWLAN_DISABLE_EXPORT_SYMBOL
cppflags-$(CONFIG_WIFI_POS_CONVERGED) += -DWIFI_POS_CONVERGED
diff --git a/components/mlme/core/src/wlan_mlme_main.c b/components/mlme/core/src/wlan_mlme_main.c
index aadf1b1..0c2dd2e 100644
--- a/components/mlme/core/src/wlan_mlme_main.c
+++ b/components/mlme/core/src/wlan_mlme_main.c
@@ -1355,26 +1355,6 @@
sizeof(product_details->model_number));
}
-#ifdef WLAN_FEATURE_BCN_RPT_VSIE
-/**
- * mlme_init_bcn_rpt_err_vsi: To fill rpt_err_vsi INI
- * @psoc: psoc
- * @sta: sta config
- *
- * @return None
- */
-static void mlme_init_bcn_rpt_err_vsi(struct wlan_objmgr_psoc *psoc,
- struct wlan_mlme_sta_cfg *sta)
-{
- sta->bcn_rpt_err_vsie = cfg_get(psoc, CFG_ENABLE_BCN_RPT_ERR_VSIE);
-}
-#else
-static inline void mlme_init_bcn_rpt_err_vsi(struct wlan_objmgr_psoc *psoc,
- struct wlan_mlme_sta_cfg *sta)
-{
-}
-#endif
-
static void mlme_init_sta_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_sta_cfg *sta)
{
@@ -1411,7 +1391,6 @@
sta->allow_tpc_from_ap = cfg_get(psoc, CFG_TX_POWER_CTRL);
sta->sta_keepalive_method =
cfg_get(psoc, CFG_STA_KEEPALIVE_METHOD);
- mlme_init_bcn_rpt_err_vsi(psoc, sta);
}
static void mlme_init_stats_cfg(struct wlan_objmgr_psoc *psoc,
diff --git a/components/mlme/dispatcher/inc/cfg_mlme_sta.h b/components/mlme/dispatcher/inc/cfg_mlme_sta.h
index e12d4c9..63643aa 100644
--- a/components/mlme/dispatcher/inc/cfg_mlme_sta.h
+++ b/components/mlme/dispatcher/inc/cfg_mlme_sta.h
@@ -431,33 +431,6 @@
MLME_STA_KEEPALIVE_GRAT_ARP, \
CFG_VALUE_OR_DEFAULT, \
"Which keepalive method to use")
-#ifdef WLAN_FEATURE_BCN_RPT_VSIE
-/*
- * <ini>
- * enable_bcn_rpt_err_vsie - Enable/Disable ini for beacon report Err reasons
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * This ini is used to send vendor specific error reasons in beacon report
- * response frame in case driver rejects the beacon report measurement request
- *
- * Related: None
- *
- * Supported Feature: STA
- *
- * Usage: Internal
- *
- * </ini>
- */
-#define CFG_ENABLE_BCN_RPT_ERR_VSIE CFG_INI_BOOL( \
- "enable_bcn_rpt_err_vsie", \
- 0, \
- "To Enable err vsie in beacon report rsp")
-#define ENABLE_BCN_RPT_ERR_VSIE_ALL CFG(CFG_ENABLE_BCN_RPT_ERR_VSIE)
-#else
-#define ENABLE_BCN_RPT_ERR_VSIE_ALL
-#endif
#define CFG_STA_ALL \
CFG(CFG_INFRA_STA_KEEP_ALIVE_PERIOD) \
@@ -476,6 +449,6 @@
CFG(CFG_STA_KEEPALIVE_METHOD) \
CFG(CFG_WT_CNF_TIMEOUT) \
CFG(CFG_CURRENT_RSSI) \
- CFG(CFG_TX_POWER_CTRL) \
- ENABLE_BCN_RPT_ERR_VSIE_ALL
+ CFG(CFG_TX_POWER_CTRL)
+
#endif /* CFG_MLME_STA_H__ */
diff --git a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
index f2e8f9f..a7be0be 100644
--- a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
+++ b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
@@ -1343,7 +1343,6 @@
* @force_rsne_override: Force rsnie override from user
* @single_tid: Set replay counter for all TID
* @allow_tpc_from_ap: Support for AP power constraint
- * @bcn_rpt_err_vsie: beacon report error vsie
*/
struct wlan_mlme_sta_cfg {
uint32_t sta_keep_alive_period;
@@ -1363,9 +1362,6 @@
bool single_tid;
bool allow_tpc_from_ap;
enum station_keepalive_method sta_keepalive_method;
-#ifdef WLAN_FEATURE_BCN_RPT_VSIE
- bool bcn_rpt_err_vsie;
-#endif
};
/**
diff --git a/configs/default_defconfig b/configs/default_defconfig
index e69dec6..40f87c9 100644
--- a/configs/default_defconfig
+++ b/configs/default_defconfig
@@ -179,9 +179,6 @@
#Flag to enable set coex configuration
CONFIG_QCACLD_FEATURE_COEX_CONFIG := n
-#Flag to enable beacon report err vsie
-CONFIG_WLAN_FEATURE_BCN_RPT_VSIE := y
-
#Flag to enable get hw capability
ifeq ($(CONFIG_ARCH_QCS40X), y)
CONFIG_QCACLD_FEATURE_HW_CAPABILITY := y
diff --git a/core/mac/inc/sir_mac_prot_def.h b/core/mac/inc/sir_mac_prot_def.h
index 2d31813..3770a25 100644
--- a/core/mac/inc/sir_mac_prot_def.h
+++ b/core/mac/inc/sir_mac_prot_def.h
@@ -1538,35 +1538,6 @@
} report;
} tSirMacRadioMeasureReport, *tpSirMacRadioMeasureReport;
-/**
- * enum beacon_report_status_code - Beacon Report response error
- * @BCN_RPT_ERR_UNSPECIFIED: unspecified error
- * @BCN_RPT_ERR_RRM_FEATURE_DISABLED: AP sets Radio Measurement subfield
- * to 0 in Capability Information element
- * @BCN_RPT_ERR_NOT_SUPPORTED_PARAMETERS: STA does not support
- * parameters in the Beacon Report request
- * @BCN_RPT_ERR_TEMPORARILY_UNAVAILABLE: Memory allocation Failure
- * @BCN_RPT_ERR_VALIDATION_FAILED_IN_A_REQUEST_FRAME: Beacon Report
- * request has invalid format
- * @BCN_RPT_ERR_PREVIOUS_REQUEST_PROGRESS: New Beacon Report request is sent
- * by AP before completion of previous beacon request
- * @BCN_RPT_ERR_MAXIMUM_MEASUREMENT_DURATION_EXCCEED: Requested measurement
- * duration greater than Measurement Duration of STA
- * @BCN_RPT_ERR_NOT_SUPPORTED_REPORT_BITS: AP sends not supported report bits
- * in Table 9-81 in IEEE802.11-2016
- * @BCN_RPT_SUCCESS: Success
- */
-enum beacon_report_status_code {
- BCN_RPT_ERR_UNSPECIFIED,
- BCN_RPT_ERR_RRM_FEATURE_DISABLED,
- BCN_RPT_ERR_NOT_SUPPORTED_PARAMETERS,
- BCN_RPT_ERR_TEMPORARILY_UNAVAILABLE,
- BCN_RPT_ERR_VALIDATION_FAILED_IN_A_REQUEST_FRAME,
- BCN_RPT_ERR_PREVIOUS_REQUEST_PROGRESS,
- BCN_RPT_ERR_MAXIMUM_MEASUREMENT_DURATION_EXCCEED,
- BCN_RPT_ERR_NOT_SUPPORTED_REPORT_BITS,
- BCN_RPT_SUCCESS,
-};
#ifdef WLAN_FEATURE_11AX
struct he_cap_network_endian {
diff --git a/core/mac/src/pe/include/lim_session.h b/core/mac/src/pe/include/lim_session.h
index ae482b9..606236f 100644
--- a/core/mac/src/pe/include/lim_session.h
+++ b/core/mac/src/pe/include/lim_session.h
@@ -124,12 +124,6 @@
#define ADAPTIVE_11R_DATA_LEN 0x04
#define ADAPTIVE_11R_OUI_DATA "\x00\x00\x00\x01"
-#define BEACON_RPT_ERR_VSIE_STA_IE_LEN 0x08
-#define BEACON_RPT_ERR_VSIE_STA_OUI "\x00\x00\x0f\x22"
-#define BEACON_RPT_ERR_VSIE_OUI_LEN 0X04
-#define BEACON_RPT_ERR_VSIE_DATA_LEN 0x03
-#define BEACON_RPT_ERR_VSIE_OUI_DATA "\x05\x01\x01"
-
/**
* struct pe_session - per-vdev PE context
* @available: true if the entry is available, false if it is in use
diff --git a/core/mac/src/pe/include/rrm_api.h b/core/mac/src/pe/include/rrm_api.h
index 5615ecd..cc1c8dc 100644
--- a/core/mac/src/pe/include/rrm_api.h
+++ b/core/mac/src/pe/include/rrm_api.h
@@ -43,25 +43,12 @@
*pLinkReq,
struct pe_session *
pe_session);
-/*
- * rrm_process_radio_measurement_request - Processes the Radio Resource
- * Measurement request
- *
- * @mac_ctx: Global pointer to MAC context
- * @peer: Macaddress of the peer requesting the radio measurement.
- * @rrm_req: Array of Measurement request IEs
- * @session_entry: session entry.
- * @error_code: beacon report resp error code
- *
- * Return: QDF_STATUS
- */
+
QDF_STATUS
rrm_process_radio_measurement_request(struct mac_context *mac_ctx,
tSirMacAddr peer,
tDot11fRadioMeasurementRequest *rrm_req,
- struct pe_session *session_entry,
- enum beacon_report_status_code
- error_code);
+ struct pe_session *session_entry);
QDF_STATUS rrm_process_neighbor_report_response(struct mac_context *mac,
tDot11fNeighborReportResponse
diff --git a/core/mac/src/pe/lim/lim_process_action_frame.c b/core/mac/src/pe/lim/lim_process_action_frame.c
index 22ea995..7cc212b 100644
--- a/core/mac/src/pe/lim/lim_process_action_frame.c
+++ b/core/mac/src/pe/lim/lim_process_action_frame.c
@@ -1320,7 +1320,7 @@
/* Call rrm function to handle the request. */
rrm_process_radio_measurement_request(mac, pHdr->sa, frm,
- pe_session, BCN_RPT_SUCCESS);
+ pe_session);
err:
qdf_mem_free(frm);
}
diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c
index 4f11880..aa42372 100644
--- a/core/mac/src/pe/lim/lim_send_management_frames.c
+++ b/core/mac/src/pe/lim/lim_send_management_frames.c
@@ -4482,102 +4482,6 @@
return status_code;
} /* End lim_send_link_report_action_frame. */
-#ifdef WLAN_FEATURE_BCN_RPT_VSIE
-/**
- * lim_fill_beacon_report_error_vsie: To fill beacon report error vsie
- * @param pe_session: session
- * @param ie_buf: double pointer that holds address of error vsie
- * @param error_code: beacon_report_status_code
- *
- * @return QDF_STATUS: success/failure
- */
-static QDF_STATUS
-lim_fill_beacon_report_error_vsie(struct pe_session *pe_session,
- uint8_t **ie_buf, uint8_t *ie_len,
- enum beacon_report_status_code
- error_code)
-{
- uint8_t *buf = NULL, *vsie_ie = NULL;
-
- /*
- * Vendor specific IE to be advertised in beacon report response
- * req:
- * Type 0xDD
- * Length 0x0A
- * OUI 0x00 0x00 0x0F
- * Type 0x22
- * subtype 0x05
- * Version 0x01
- * Length 0x01
- * Data 0x00-0x07 (beacon report error)
- * supported)
- */
- vsie_ie = qdf_mem_malloc(BEACON_RPT_ERR_VSIE_STA_IE_LEN + 2);
- if (!vsie_ie)
- return QDF_STATUS_E_FAILURE;
-
- /* Fill the Vendor IE Type (0xDD) */
- buf = vsie_ie;
- *buf = WLAN_ELEMID_VENDOR;
- buf++;
-
- /* Fill the Vendor IE length (0x0A) */
- *buf = BEACON_RPT_ERR_VSIE_STA_IE_LEN;
- buf++;
-
- /*
- * Fill the vsie Vendor specific OUI(0x00 0x00 0x0F 0x22)
- */
- qdf_mem_copy(buf, BEACON_RPT_ERR_VSIE_STA_OUI,
- BEACON_RPT_ERR_VSIE_OUI_LEN);
- buf += BEACON_RPT_ERR_VSIE_OUI_LEN;
-
- /*
- * Fill Subtype version and length (0x05 0x01 0x01)
- */
- qdf_mem_copy(buf, BEACON_RPT_ERR_VSIE_OUI_DATA,
- BEACON_RPT_ERR_VSIE_DATA_LEN);
- buf += BEACON_RPT_ERR_VSIE_DATA_LEN;
-
- /* Fill error code */
- *buf = error_code;
-
- *ie_len = BEACON_RPT_ERR_VSIE_STA_IE_LEN + 2;
- *ie_buf = vsie_ie;
- return QDF_STATUS_SUCCESS;
-}
-#else
-static QDF_STATUS
-lim_fill_beacon_report_error_vsie(struct pe_session *pe_session,
- uint8_t **ie_buf, uint8_t *ie_len,
- enum beacon_report_status_code
- error_code)
-{
- return QDF_STATUS_SUCCESS;
-}
-#endif
-
-#ifdef WLAN_FEATURE_BCN_RPT_VSIE
-static bool
-lim_check_bcn_rpt_err_vsie_status(struct mac_context *mac,
- enum beacon_report_status_code error_code)
-{
- if (mac->mlme_cfg->sta.bcn_rpt_err_vsie && error_code !=
- BCN_RPT_SUCCESS) {
- return true;
- }
-
- return false;
-}
-#else
-static bool
-lim_check_bcn_rpt_err_vsie_status(struct mac_context *mac,
- enum beacon_report_status_code error_code)
-{
- return false;
-}
-#endif
-
QDF_STATUS
lim_send_radio_measure_report_action_frame(struct mac_context *mac,
uint8_t dialog_token,
@@ -4585,23 +4489,18 @@
bool is_last_frame,
tpSirMacRadioMeasureReport pRRMReport,
tSirMacAddr peer,
- struct pe_session *pe_session,
- enum beacon_report_status_code error_code)
+ struct pe_session *pe_session)
{
QDF_STATUS status_code = QDF_STATUS_SUCCESS;
uint8_t *pFrame;
tpSirMacMgmtHdr pMacHdr;
- uint32_t nPayload, nStatus;
- uint32_t nBytes = 0;
+ uint32_t nBytes, nPayload, nStatus;
void *pPacket;
QDF_STATUS qdf_status;
uint8_t i;
uint8_t txFlag = 0;
uint8_t smeSessionId = 0;
bool is_last_report = false;
- uint8_t *bcn_rpt_err_vsie = NULL;
- uint8_t vs_ie_len = 0;
- bool bcn_rpt_err_vsie_enable = false;
tDot11fRadioMeasurementReport *frm =
qdf_mem_malloc(sizeof(tDot11fRadioMeasurementReport));
@@ -4614,9 +4513,6 @@
return QDF_STATUS_E_FAILURE;
}
- bcn_rpt_err_vsie_enable = lim_check_bcn_rpt_err_vsie_status(mac,
- error_code);
-
smeSessionId = pe_session->smeSessionId;
@@ -4648,15 +4544,6 @@
&pRRMReport[i].report.
beaconReport,
is_last_report);
-
- if (bcn_rpt_err_vsie_enable) {
- lim_fill_beacon_report_error_vsie
- (pe_session,
- &bcn_rpt_err_vsie,
- &vs_ie_len, error_code);
- nBytes = vs_ie_len;
- }
-
frm->MeasurementReport[i].incapable =
pRRMReport[i].incapable;
frm->MeasurementReport[i].refused =
@@ -4682,15 +4569,13 @@
/* We'll fall back on the worst case scenario: */
nPayload = sizeof(tDot11fLinkMeasurementReport);
qdf_mem_free(frm);
- qdf_mem_free(bcn_rpt_err_vsie);
return QDF_STATUS_E_FAILURE;
} else if (DOT11F_WARNED(nStatus)) {
pe_warn("Warnings while calculating the size for Radio Measure Report (0x%08x)",
nStatus);
}
- nBytes += nPayload + sizeof(tSirMacMgmtHdr);
-
+ nBytes = nPayload + sizeof(tSirMacMgmtHdr);
qdf_status =
cds_packet_alloc((uint16_t) nBytes, (void **)&pFrame,
@@ -4699,7 +4584,6 @@
pe_nofl_err("TX: [802.11 RRM] Allocation of %d bytes failed for RM"
"Report", nBytes);
qdf_mem_free(frm);
- qdf_mem_free(bcn_rpt_err_vsie);
return QDF_STATUS_E_FAILURE;
}
/* Paranoia: */
@@ -4735,11 +4619,6 @@
nStatus);
}
- if (bcn_rpt_err_vsie_enable) {
- qdf_mem_copy(pFrame + sizeof(tSirMacMgmtHdr) + nPayload,
- bcn_rpt_err_vsie, vs_ie_len);
- }
-
pe_nofl_info("TX: %s seq_no:%d dialog_token:%d no. of APs:%d is_last_rpt:%d num_report: %d peer:%pM",
frm->MeasurementReport[0].type == SIR_MAC_RRM_BEACON_TYPE ?
"[802.11 BCN_RPT]" : "[802.11 RRM]",
@@ -4769,12 +4648,10 @@
}
qdf_mem_free(frm);
- qdf_mem_free(bcn_rpt_err_vsie);
return status_code;
returnAfterError:
qdf_mem_free(frm);
- qdf_mem_free(bcn_rpt_err_vsie);
cds_packet_free((void *)pPacket);
return status_code;
}
diff --git a/core/mac/src/pe/lim/lim_types.h b/core/mac/src/pe/lim/lim_types.h
index 04ee519..64cef15 100644
--- a/core/mac/src/pe/lim/lim_types.h
+++ b/core/mac/src/pe/lim/lim_types.h
@@ -676,7 +676,6 @@
* @pRRMReport: Pointer to the RRM report structure
* @peer: MAC address of the peer
* @pe_session: Pointer to the PE session entry
- * @beacon_report_status_code: error_code
*
* Return: Ret Status
*/
@@ -687,8 +686,7 @@
bool is_last_frame,
tpSirMacRadioMeasureReport pRRMReport,
tSirMacAddr peer,
- struct pe_session *pe_session,
- enum beacon_report_status_code error_code);
+ struct pe_session *pe_session);
#ifdef FEATURE_WLAN_TDLS
void lim_init_tdls_data(struct mac_context *, struct pe_session *);
diff --git a/core/mac/src/pe/rrm/rrm_api.c b/core/mac/src/pe/rrm/rrm_api.c
index 0f315a6..f24dc24 100644
--- a/core/mac/src/pe/rrm/rrm_api.c
+++ b/core/mac/src/pe/rrm/rrm_api.c
@@ -466,24 +466,28 @@
}
#define ABS(x) ((x < 0) ? -x : x)
-
+/* -------------------------------------------------------------------- */
/**
- * rrm_process_beacon_report_req: Processes the Beacon report request
- * from the peer AP.
+ * rrm_process_beacon_report_req
*
- * @pCurrentReq: pointer to the current Req comtext.
- * @pBeaconReq: pointer to the beacon report request IE from the peer.
- * @pe_session: session entry.
- * @error_code: pointer to beacon report error_code
+ * FUNCTION: Processes the Beacon report request from the peer AP.
*
- * @return : eRRM status
+ * LOGIC:
+ *
+ * ASSUMPTIONS:
+ *
+ * NOTE:
+ *
+ * @param pCurrentReq pointer to the current Req comtext.
+ * @param pBeaconReq pointer to the beacon report request IE from the peer.
+ * @param pe_session session entry.
+ * @return None
*/
static tRrmRetStatus
rrm_process_beacon_report_req(struct mac_context *mac,
tpRRMReq pCurrentReq,
tDot11fIEMeasurementRequest *pBeaconReq,
- struct pe_session *pe_session,
- enum beacon_report_status_code *error_code)
+ struct pe_session *pe_session)
{
struct scheduler_msg mmh_msg = {0};
tpSirBeaconReportReqInd psbrr;
@@ -507,7 +511,6 @@
/* IEEE Std 802.11k-2008 Table 7-29g and section 11.10.8.1 */
pe_nofl_err("RX: [802.11 BCN_RPT] Dropping req: Reporting condition included is not zero");
- *error_code = BCN_RPT_ERR_NOT_SUPPORTED_PARAMETERS;
return eRRM_INCAPABLE;
}
@@ -548,7 +551,6 @@
if (measDuration == 0 &&
pBeaconReq->measurement_request.Beacon.meas_mode !=
eSIR_BEACON_TABLE) {
- *error_code = BCN_RPT_ERR_VALIDATION_FAILED_IN_A_REQUEST_FRAME;
pe_nofl_err("RX: [802.11 BCN_RPT] Invalid measurement duration");
return eRRM_REFUSED;
}
@@ -556,8 +558,6 @@
if (maxMeasduration < measDuration) {
if (pBeaconReq->durationMandatory) {
pe_nofl_err("RX: [802.11 BCN_RPT] Dropping the req: duration mandatory & maxduration > measduration");
- *error_code =
- BCN_RPT_ERR_MAXIMUM_MEASUREMENT_DURATION_EXCCEED;
return eRRM_REFUSED;
} else
measDuration = maxMeasduration;
@@ -584,18 +584,14 @@
if (!pBeaconReq->measurement_request.Beacon.RequestedInfo.
num_requested_eids) {
pe_debug("RX: [802.11 BCN_RPT]: Requested num of EID is 0");
- *error_code =
- BCN_RPT_ERR_VALIDATION_FAILED_IN_A_REQUEST_FRAME;
return eRRM_FAILURE;
}
pCurrentReq->request.Beacon.reqIes.pElementIds =
qdf_mem_malloc(sizeof(uint8_t) *
pBeaconReq->measurement_request.Beacon.
RequestedInfo.num_requested_eids);
- if (!pCurrentReq->request.Beacon.reqIes.pElementIds) {
- *error_code = BCN_RPT_ERR_TEMPORARILY_UNAVAILABLE;
+ if (!pCurrentReq->request.Beacon.reqIes.pElementIds)
return eRRM_FAILURE;
- }
pCurrentReq->request.Beacon.reqIes.num =
pBeaconReq->measurement_request.Beacon.RequestedInfo.
@@ -608,10 +604,8 @@
/* Prepare the request to send to SME. */
psbrr = qdf_mem_malloc(sizeof(tSirBeaconReportReqInd));
- if (!psbrr) {
- *error_code = BCN_RPT_ERR_TEMPORARILY_UNAVAILABLE;
+ if (!psbrr)
return eRRM_FAILURE;
- }
/* Alloc memory for pSmeBcnReportReq, will be freed by other modules */
qdf_mem_copy(psbrr->bssId, pe_session->bssId,
@@ -627,7 +621,6 @@
(wlan_reg_is_6ghz_op_class(mac->pdev,
pBeaconReq->measurement_request.Beacon.regClass))) {
pe_nofl_err("RX: [802.11 BCN_RPT] Ch belongs to 6 ghz spectrum, abort");
- *error_code = BCN_RPT_ERR_NOT_SUPPORTED_PARAMETERS;
qdf_mem_free(psbrr);
return eRRM_FAILURE;
}
@@ -668,8 +661,6 @@
(wlan_reg_is_6ghz_op_class(mac->pdev,
ie_ap_chan_rpt->regulatoryClass))) {
pe_nofl_err("RX: [802.11 BCN_RPT] Ch belongs to 6 ghz spectrum, abort");
- *error_code =
- BCN_RPT_ERR_NOT_SUPPORTED_PARAMETERS;
qdf_mem_free(psbrr);
return eRRM_FAILURE;
}
@@ -705,7 +696,6 @@
MTRACE(mac_trace(mac, TRACE_CODE_TX_SME_MSG,
pe_session->peSessionId, mmh_msg.type));
lim_sys_process_mmh_msg_api(mac, &mmh_msg);
- *error_code = BCN_RPT_SUCCESS;
return eRRM_SUCCESS;
}
@@ -851,8 +841,6 @@
uint8_t rem_len = 0;
uint8_t frag_id = 0;
uint8_t num_frames, num_reports_in_frame;
- enum beacon_report_status_code error_code =
- BCN_RPT_SUCCESS;
pe_debug("Received beacon report xmit indication");
@@ -1018,8 +1006,7 @@
curr_req->dialog_token, num_reports_in_frame,
(j == num_frames - 1) ? true : false,
&report[report_index],
- beacon_xmit_ind->bssId, session_entry,
- error_code);
+ beacon_xmit_ind->bssId, session_entry);
report_index += num_reports_in_frame;
}
curr_req->sendEmptyBcnRpt = false;
@@ -1043,9 +1030,7 @@
static void rrm_process_beacon_request_failure(struct mac_context *mac,
struct pe_session *pe_session,
tSirMacAddr peer,
- tRrmRetStatus status,
- enum beacon_report_status_code
- error_code)
+ tRrmRetStatus status)
{
tpSirMacRadioMeasureReport pReport = NULL;
tpRRMReq pCurrentReq = mac->rrm.rrmPEContext.pCurrentReq;
@@ -1075,7 +1060,7 @@
pCurrentReq->dialog_token,
1, true,
pReport, peer,
- pe_session, error_code);
+ pe_session);
qdf_mem_free(pReport);
return;
@@ -1091,7 +1076,6 @@
* @rrm_req: Array of Measurement request IEs
* @num_report: No.of reports
* @index: Index for Measurement request
- * @error_code: pointer beacon report resp error code
*
* Update structure sRRMReq and sSirMacRadioMeasureReport and pass it to
* rrm_process_beacon_report_req().
@@ -1103,12 +1087,11 @@
struct pe_session *session_entry, tpRRMReq curr_req,
tpSirMacRadioMeasureReport *radiomes_report,
tDot11fRadioMeasurementRequest *rrm_req,
- uint8_t *num_report, int index,
- enum beacon_report_status_code
- *error_code)
+ uint8_t *num_report, int index)
{
tRrmRetStatus rrm_status = eRRM_SUCCESS;
tpSirMacRadioMeasureReport report;
+
if (curr_req) {
if (!*radiomes_report) {
/*
@@ -1117,11 +1100,8 @@
*/
*radiomes_report = qdf_mem_malloc(sizeof(*report) *
(rrm_req->num_MeasurementRequest - index));
- if (!*radiomes_report) {
- *error_code =
- BCN_RPT_ERR_TEMPORARILY_UNAVAILABLE;
+ if (!*radiomes_report)
return QDF_STATUS_E_NOMEM;
- }
pe_debug("rrm beacon type refused of %d report in beacon table",
*num_report);
}
@@ -1131,28 +1111,26 @@
report[*num_report].token =
rrm_req->MeasurementRequest[index].measurement_token;
(*num_report)++;
- *error_code = BCN_RPT_SUCCESS;
return QDF_STATUS_SUCCESS;
- }
- curr_req = qdf_mem_malloc(sizeof(*curr_req));
- if (!curr_req) {
- qdf_mem_free(*radiomes_report);
- return QDF_STATUS_E_NOMEM;
- }
- pe_debug("Processing Beacon Report request");
- curr_req->dialog_token = rrm_req->DialogToken.token;
- curr_req->token =
- rrm_req->MeasurementRequest[index].measurement_token;
- curr_req->sendEmptyBcnRpt = true;
- mac_ctx->rrm.rrmPEContext.pCurrentReq = curr_req;
- rrm_status =
- rrm_process_beacon_report_req(mac_ctx, curr_req,
- &rrm_req->MeasurementRequest[index],
- session_entry, error_code);
- if (eRRM_SUCCESS != rrm_status) {
- rrm_process_beacon_request_failure(mac_ctx, session_entry, peer,
- rrm_status, *error_code);
- rrm_cleanup(mac_ctx);
+ } else {
+ curr_req = qdf_mem_malloc(sizeof(*curr_req));
+ if (!curr_req) {
+ qdf_mem_free(*radiomes_report);
+ return QDF_STATUS_E_NOMEM;
+ }
+ pe_debug("Processing Beacon Report request");
+ curr_req->dialog_token = rrm_req->DialogToken.token;
+ curr_req->token = rrm_req->
+ MeasurementRequest[index].measurement_token;
+ curr_req->sendEmptyBcnRpt = true;
+ mac_ctx->rrm.rrmPEContext.pCurrentReq = curr_req;
+ rrm_status = rrm_process_beacon_report_req(mac_ctx, curr_req,
+ &rrm_req->MeasurementRequest[index], session_entry);
+ if (eRRM_SUCCESS != rrm_status) {
+ rrm_process_beacon_request_failure(mac_ctx,
+ session_entry, peer, rrm_status);
+ rrm_cleanup(mac_ctx);
+ }
}
return QDF_STATUS_SUCCESS;
@@ -1199,15 +1177,15 @@
return QDF_STATUS_SUCCESS;
}
+/* -------------------------------------------------------------------- */
/**
- * rrm_process_radio_measurement_request - Processes the Radio Resource
- * Measurement request
- *
+ * rrm_process_radio_measurement_request - Process rrm request
* @mac_ctx: Global pointer to MAC context
* @peer: Macaddress of the peer requesting the radio measurement.
* @rrm_req: Array of Measurement request IEs
* @session_entry: session entry.
- * @error_code: beacon report resp error code
+ *
+ * Processes the Radio Resource Measurement request.
*
* Return: QDF_STATUS
*/
@@ -1215,9 +1193,7 @@
rrm_process_radio_measurement_request(struct mac_context *mac_ctx,
tSirMacAddr peer,
tDot11fRadioMeasurementRequest *rrm_req,
- struct pe_session *session_entry,
- enum beacon_report_status_code
- error_code)
+ struct pe_session *session_entry)
{
uint8_t i;
QDF_STATUS status = QDF_STATUS_SUCCESS;
@@ -1232,10 +1208,9 @@
pe_err("RX: [802.11 RRM] No requestIes in the measurement request, sending incapable report");
report->incapable = 1;
num_report = 1;
- error_code = BCN_RPT_ERR_VALIDATION_FAILED_IN_A_REQUEST_FRAME;
lim_send_radio_measure_report_action_frame(mac_ctx,
rrm_req->DialogToken.token, num_report, true,
- report, peer, session_entry, error_code);
+ report, peer, session_entry);
qdf_mem_free(report);
return QDF_STATUS_E_FAILURE;
}
@@ -1251,7 +1226,6 @@
if (!report)
return QDF_STATUS_E_NOMEM;
report->incapable = 1;
- error_code = BCN_RPT_ERR_PREVIOUS_REQUEST_PROGRESS;
report->type = rrm_req->MeasurementRequest[0].measurement_type;
num_report = 1;
goto end;
@@ -1263,7 +1237,7 @@
/* Process beacon request. */
status = rrm_process_beacon_req(mac_ctx, peer,
session_entry, curr_req, &report, rrm_req,
- &num_report, i, &error_code);
+ &num_report, i);
if (QDF_STATUS_SUCCESS != status)
return status;
break;
@@ -1275,7 +1249,6 @@
break;
default:
/* Send a report with incapabale bit set. */
- error_code = BCN_RPT_ERR_UNSPECIFIED;
status = update_rrm_report(mac_ctx, &report, rrm_req,
&num_report, i);
if (QDF_STATUS_SUCCESS != status)
@@ -1288,7 +1261,7 @@
if (report) {
lim_send_radio_measure_report_action_frame(mac_ctx,
rrm_req->DialogToken.token, num_report, true,
- report, peer, session_entry, error_code);
+ report, peer, session_entry);
qdf_mem_free(report);
}
return status;