qcacmn: Get link id from pdev only if mgmt Rx REO is enabled
Get link id from pdev only if management Rx REO feature is enabled in FW and INI. CRs-Fixed: 3199557 Change-Id: I8732cbb9c24059268f67d6c00447acbe99ef5ccc
Este commit está contenido en:

cometido por
Madan Koyyalamudi

padre
feff4ffaf1
commit
bec69b91fe
@@ -1049,11 +1049,10 @@ static inline bool is_mgmt_rx_reo_required(
|
||||
struct mgmt_rx_reo_frame_descriptor *desc)
|
||||
{
|
||||
/**
|
||||
* NOTE: Implementing a simple policy based on INI, WMI serive bit
|
||||
* and the number of MLO vdevs in the given pdev.
|
||||
* NOTE: Implementing a simple policy based on the number of MLO vdevs
|
||||
* in the given pdev.
|
||||
*/
|
||||
return wlan_mgmt_rx_reo_is_feature_enabled_at_pdev(pdev) &&
|
||||
wlan_pdev_get_mlo_vdev_count(pdev);
|
||||
return wlan_pdev_get_mlo_vdev_count(pdev);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -105,21 +105,32 @@ tgt_mgmt_rx_reo_enter_algo_without_buffer(
|
||||
struct mgmt_rx_reo_params *reo_params,
|
||||
enum mgmt_rx_reo_frame_descriptor_type type)
|
||||
{
|
||||
struct mgmt_rx_event_params mgmt_rx_params;
|
||||
struct mgmt_rx_event_params mgmt_rx_params = {0};
|
||||
struct mgmt_rx_reo_frame_descriptor desc = {0};
|
||||
bool is_frm_queued;
|
||||
QDF_STATUS status;
|
||||
int8_t link_id;
|
||||
|
||||
if (!pdev) {
|
||||
mgmt_rx_reo_err("pdev is null");
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
|
||||
if (!wlan_mgmt_rx_reo_is_feature_enabled_at_pdev(pdev))
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
if (!reo_params) {
|
||||
mgmt_rx_reo_err("mgmt rx reo params are null");
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
|
||||
link_id = wlan_get_mlo_link_id_from_pdev(pdev);
|
||||
if (link_id < 0) {
|
||||
mgmt_rx_reo_err("Invalid link %d for the pdev", link_id);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
reo_params->link_id = link_id;
|
||||
|
||||
mgmt_rx_params.reo_params = reo_params;
|
||||
|
||||
desc.nbuf = NULL; /* No frame buffer */
|
||||
@@ -149,21 +160,6 @@ QDF_STATUS
|
||||
tgt_mgmt_rx_reo_fw_consumed_event_handler(struct wlan_objmgr_pdev *pdev,
|
||||
struct mgmt_rx_reo_params *params)
|
||||
{
|
||||
int8_t link_id;
|
||||
|
||||
if (!params) {
|
||||
mgmt_rx_reo_err("MGMT rx reo params is NULL");
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
|
||||
link_id = wlan_get_mlo_link_id_from_pdev(pdev);
|
||||
if (link_id < 0) {
|
||||
mgmt_rx_reo_err("Invalid link %d for the pdev", link_id);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
params->link_id = link_id;
|
||||
|
||||
return tgt_mgmt_rx_reo_enter_algo_without_buffer(
|
||||
pdev, params, MGMT_RX_REO_FRAME_DESC_FW_CONSUMED_FRAME);
|
||||
}
|
||||
@@ -172,21 +168,6 @@ QDF_STATUS
|
||||
tgt_mgmt_rx_reo_host_drop_handler(struct wlan_objmgr_pdev *pdev,
|
||||
struct mgmt_rx_reo_params *params)
|
||||
{
|
||||
int8_t link_id;
|
||||
|
||||
if (!params) {
|
||||
mgmt_rx_reo_err("MGMT rx reo params is NULL");
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
|
||||
link_id = wlan_get_mlo_link_id_from_pdev(pdev);
|
||||
if (link_id < 0) {
|
||||
mgmt_rx_reo_err("Invalid link %d for the pdev", link_id);
|
||||
return QDF_STATUS_E_INVAL;
|
||||
}
|
||||
|
||||
params->link_id = link_id;
|
||||
|
||||
return tgt_mgmt_rx_reo_enter_algo_without_buffer(
|
||||
pdev, params, MGMT_RX_REO_FRAME_DESC_ERROR_FRAME);
|
||||
}
|
||||
@@ -264,6 +245,10 @@ QDF_STATUS tgt_mgmt_rx_reo_frame_handler(
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (!wlan_mgmt_rx_reo_is_feature_enabled_at_pdev(pdev))
|
||||
return tgt_mgmt_txrx_process_rx_frame(pdev, buf,
|
||||
mgmt_rx_params);
|
||||
|
||||
link_id = wlan_get_mlo_link_id_from_pdev(pdev);
|
||||
if (link_id < 0) {
|
||||
mgmt_rx_reo_err("Invalid link %d for the pdev", link_id);
|
||||
|
Referencia en una nueva incidencia
Block a user