qcacmn: Move group id sanity check to pdev check

Move group ID Sanity check to mlo pdev check

Change-Id: I7b895972c2799194c5bc0cf4b22629acd1c2b7fd
CRs-Fixed: 3343170
Este commit está contenido en:
Surya Prakash Raajen
2023-01-04 20:12:40 +05:30
cometido por Madan Koyyalamudi
padre 6ef9d4cb8e
commit cbc0170b1c

Ver fichero

@@ -371,6 +371,27 @@ static QDF_STATUS mlo_ap_ctx_init(struct wlan_mlo_dev_context *ml_dev)
}
#ifdef CONFIG_AP_PLATFORM
static inline
QDF_STATUS wlan_mlo_check_grp_id(uint8_t ref_id,
struct wlan_objmgr_vdev *vdev)
{
struct wlan_objmgr_psoc *psoc;
uint8_t grp_id = 0;
psoc = wlan_vdev_get_psoc(vdev);
if (!mlo_psoc_get_grp_id(psoc, &grp_id)) {
mlo_err("Unable to get mlo group id");
return QDF_STATUS_E_FAILURE;
}
if (grp_id != ref_id) {
mlo_err("Error : MLD VAP Configuration with different WSI/MLD Groups");
return QDF_STATUS_E_FAILURE;
}
return QDF_STATUS_SUCCESS;
}
static inline
QDF_STATUS wlan_mlo_pdev_check(struct wlan_objmgr_pdev *ref_pdev,
struct wlan_objmgr_vdev *vdev)
@@ -397,26 +418,8 @@ QDF_STATUS wlan_mlo_pdev_check(struct wlan_objmgr_pdev *ref_pdev,
return QDF_STATUS_E_FAILURE;
}
return QDF_STATUS_SUCCESS;
}
static inline
QDF_STATUS wlan_mlo_check_grp_id(uint8_t ref_id,
struct wlan_objmgr_vdev *vdev)
{
struct wlan_objmgr_psoc *psoc;
uint8_t grp_id = 0;
psoc = wlan_vdev_get_psoc(vdev);
if (!mlo_psoc_get_grp_id(psoc, &grp_id)) {
mlo_err("Unable to get mlo group id");
if (wlan_mlo_check_grp_id(grp_id, vdev))
return QDF_STATUS_E_FAILURE;
}
if (grp_id != ref_id) {
mlo_err("Error : MLD VAP Configuration with different WSI/MLD Groups");
return QDF_STATUS_E_FAILURE;
}
return QDF_STATUS_SUCCESS;
}
@@ -448,13 +451,6 @@ QDF_STATUS wlan_mlo_pdev_check(struct wlan_objmgr_pdev *ref_pdev,
{
return QDF_STATUS_SUCCESS;
}
static inline
QDF_STATUS wlan_mlo_check_grp_id(uint8_t ref_id,
struct wlan_objmgr_vdev *vdev)
{
return QDF_STATUS_SUCCESS;
}
#endif
QDF_STATUS wlan_mlo_check_valid_config(struct wlan_mlo_dev_context *ml_dev,
@@ -462,9 +458,7 @@ QDF_STATUS wlan_mlo_check_valid_config(struct wlan_mlo_dev_context *ml_dev,
enum QDF_OPMODE opmode)
{
uint32_t id = 0;
uint8_t ref_id = 0;
struct wlan_objmgr_vdev *vdev;
struct wlan_objmgr_psoc *psoc;
if (!ml_dev)
return QDF_STATUS_E_FAILURE;
@@ -472,15 +466,6 @@ QDF_STATUS wlan_mlo_check_valid_config(struct wlan_mlo_dev_context *ml_dev,
if (!pdev)
return QDF_STATUS_E_FAILURE;
psoc = wlan_pdev_get_psoc(pdev);
if (!psoc)
return QDF_STATUS_E_FAILURE;
if (!mlo_psoc_get_grp_id(psoc, &ref_id)) {
mlo_err("Unable to get mlo group id");
return QDF_STATUS_E_FAILURE;
}
mlo_dev_lock_acquire(ml_dev);
while (id < WLAN_UMAC_MLO_MAX_VDEVS) {
vdev = ml_dev->wlan_vdev_list[id];
@@ -497,11 +482,6 @@ QDF_STATUS wlan_mlo_check_valid_config(struct wlan_mlo_dev_context *ml_dev,
mlo_dev_lock_release(ml_dev);
return QDF_STATUS_E_FAILURE;
}
if (wlan_mlo_check_grp_id(ref_id, vdev)) {
mlo_dev_lock_release(ml_dev);
return QDF_STATUS_E_FAILURE;
}
}
id++;
}