qcacmn: update the bridge vap in partner list

update the bridge vap in partner list

Change-Id: I232314d4a91768bc5bbade3285ab925dd834d03f
CRs-Fixed: 3550189
This commit is contained in:
Sai Rupesh Chevuru
2023-07-05 16:33:39 +05:30
gecommit door Rahul Choudhary
bovenliggende fe14b1901b
commit 2876ec5043
2 gewijzigde bestanden met toevoegingen van 43 en 1 verwijderingen

Bestand weergeven

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2019-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. 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
@@ -55,12 +55,35 @@ wlan_vdev_mgr_fill_mlo_params(struct cdp_vdev_info *vdev_info,
{
vdev_info->mld_mac_addr = param->mlo_mac;
}
#ifdef WLAN_MLO_MULTI_CHIP
static inline void
wlan_vdev_mgr_fill_mlo_bridge_vap_params(struct cdp_vdev_info *vdev_info,
struct wlan_objmgr_vdev *vdev)
{
vdev_info->is_bridge_vap = vdev->vdev_objmgr.mlo_bridge_vdev;
}
#else
static inline void
wlan_vdev_mgr_fill_mlo_bridge_vap_params(struct cdp_vdev_info *vdev_info,
struct wlan_objmgr_vdev *vdev)
{
}
#endif
#else
static inline void
wlan_vdev_mgr_fill_mlo_params(struct cdp_vdev_info *vdev_info,
struct vdev_create_params *param)
{
}
static inline void
wlan_vdev_mgr_fill_mlo_bridge_vap_params(struct cdp_vdev_info *vdev_info,
struct wlan_objmgr_vdev *vdev)
{
}
#endif
QDF_STATUS tgt_vdev_mgr_create_send(
@@ -108,6 +131,7 @@ QDF_STATUS tgt_vdev_mgr_create_send(
vdev_info.op_mode = wlan_util_vdev_get_cdp_txrx_opmode(vdev);
vdev_info.subtype = wlan_util_vdev_get_cdp_txrx_subtype(vdev);
vdev_info.qdf_opmode = wlan_vdev_mlme_get_opmode(vdev);
wlan_vdev_mgr_fill_mlo_bridge_vap_params(&vdev_info, vdev);
wlan_vdev_mgr_fill_mlo_params(&vdev_info, param);
pdev = wlan_vdev_get_pdev(vdev);

Bestand weergeven

@@ -71,6 +71,24 @@ bool mlo_ap_vdev_attach(struct wlan_objmgr_vdev *vdev,
wlan_vdev_get_id(vdev));
}
/* reset the vdev id list */
for (i = 0; i < WLAN_UMAC_MLO_MAX_VDEVS; i++)
pr_vdev_ids[i] = CDP_INVALID_VDEV_ID;
/* update the bridge vaps in partner list*/
for (i = 0; i < WLAN_UMAC_MLO_MAX_BRIDGE_VDEVS; i++) {
if (dev_ctx->wlan_bridge_vdev_list[i])
pr_vdev_ids[i] = wlan_vdev_get_id(
dev_ctx->wlan_bridge_vdev_list[i]);
}
if (cdp_update_mlo_ptnr_list(
wlan_psoc_get_dp_handle(psoc),
pr_vdev_ids, WLAN_UMAC_MLO_MAX_VDEVS,
wlan_vdev_get_id(vdev)) != QDF_STATUS_SUCCESS) {
mlo_debug("Failed to add vdev to partner vdev list, vdev id:%d",
wlan_vdev_get_id(vdev));
}
return true;
}
#else