qcacld-3.0: Reject GET_CU_FOR_EACH_SUB_BW request for MLO conn

As per requirement, for MLO connection host should reject
GET_CU_FOR_EACH_SUB_BW request and return failure to upper
layer as a response.

Change-Id: I8177d92982c832a17c1657239b69cc3712e1eaf4
CRs-Fixed: 3476349
This commit is contained in:
Abhinav Kumar
2023-04-23 22:25:14 -07:00
gecommit door Madan Koyyalamudi
bovenliggende fbcbaaf178
commit 042a37976b
5 gewijzigde bestanden met toevoegingen van 30 en 21 verwijderingen

Bestand weergeven

@@ -929,10 +929,10 @@ uint32_t mlme_get_vdev_he_ops(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id);
* @psoc: pointer to psoc object
* @vdev_id: Vdev id
*
* Return: none
* Return: QDF_STATUS
*/
void mlme_connected_chan_stats_request(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id);
QDF_STATUS mlme_connected_chan_stats_request(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id);
/**
* mlme_get_ini_vdev_config() - get the vdev ini config params

Bestand weergeven

@@ -245,8 +245,8 @@ mlme_fill_freq_in_wide_scan_start_request(struct wlan_objmgr_vdev *vdev,
return QDF_STATUS_SUCCESS;
}
void mlme_connected_chan_stats_request(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id)
QDF_STATUS mlme_connected_chan_stats_request(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id)
{
struct wlan_mlme_psoc_ext_obj *mlme_obj;
QDF_STATUS status;
@@ -256,20 +256,27 @@ void mlme_connected_chan_stats_request(struct wlan_objmgr_psoc *psoc,
mlme_obj = mlme_get_psoc_ext_obj(psoc);
if (!mlme_obj) {
mlme_debug("vdev %d : NULL mlme psoc object", vdev_id);
return;
return QDF_STATUS_E_FAILURE;
}
vdev = wlan_objmgr_get_vdev_by_id_from_psoc(psoc, vdev_id,
WLAN_MLME_NB_ID);
if (!vdev) {
mlme_debug("vdev %d : NULL vdev object", vdev_id);
return;
return QDF_STATUS_E_FAILURE;
}
if (wlan_vdev_mlme_is_mlo_vdev(vdev)) {
mlme_debug("vdev %d :reject get_cu req for mlo connection",
vdev_id);
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_NB_ID);
return QDF_STATUS_E_NOSUPPORT;
}
req = qdf_mem_malloc(sizeof(*req));
if (!req) {
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_NB_ID);
return;
return QDF_STATUS_E_NOMEM;
}
status = wlan_scan_init_default_params(vdev, req);
@@ -311,10 +318,11 @@ void mlme_connected_chan_stats_request(struct wlan_objmgr_psoc *psoc,
}
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_NB_ID);
return;
return status;
release:
qdf_mem_free(req);
wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_NB_ID);
return status;
}
uint32_t mlme_get_vdev_he_ops(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id)