qcacmn: Add API to update MLD MAC address

Currently there is no provision to update MLD mac address in MLO manager.
MLD MAC address updation is required when MAC address randomization is
enabled.

To enable MLD address updation, add MLO manager API to update MLD address.

Change-Id: Ia2ccb1c32a3533748bda512e991e3d48d14c39f0
CRs-Fixed: 3103074
This commit is contained in:
Bapiraju Alla
2021-12-31 16:34:42 +05:30
committed by Madan Koyyalamudi
vanhempi 3090d55051
commit 3c40f95843
2 muutettua tiedostoa jossa 37 lisäystä ja 2 poistoa

Näytä tiedosto

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2022 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 above
@@ -648,6 +648,18 @@ QDF_STATUS wlan_mlo_mgr_psoc_enable(struct wlan_objmgr_psoc *psoc);
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlo_mgr_psoc_disable(struct wlan_objmgr_psoc *psoc);
/**
* wlan_mlo_mgr_update_mld_addr() - Update MLD MAC address
* @old_mac: Old MLD MAC address
* @new_mac: New MLD MAC address
*
* API to update MLD MAC address once ML dev context is created.
*
* Return: QDF_STATUS
*/
QDF_STATUS wlan_mlo_mgr_update_mld_addr(struct qdf_mac_addr *old_mac,
struct qdf_mac_addr *new_mac);
#else
static inline QDF_STATUS wlan_mlo_mgr_init(void)
{
@@ -658,5 +670,12 @@ static inline QDF_STATUS wlan_mlo_mgr_deinit(void)
{
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS
wlan_mlo_mgr_update_mld_addr(struct qdf_mac_addr *old_mac,
struct qdf_mac_addr *new_mac)
{
return QDF_STATUS_SUCCESS;
}
#endif
#endif

Näytä tiedosto

@@ -1,6 +1,6 @@
/*
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
* Copyright (c) 2021-2022 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 above
@@ -452,3 +452,19 @@ QDF_STATUS wlan_mlo_mgr_vdev_destroyed_notification(struct wlan_objmgr_vdev *vde
return status;
}
QDF_STATUS wlan_mlo_mgr_update_mld_addr(struct qdf_mac_addr *old_mac,
struct qdf_mac_addr *new_mac)
{
struct wlan_mlo_dev_context *ml_dev;
ml_dev = wlan_mlo_get_mld_ctx_by_mldaddr(old_mac);
if (!ml_dev) {
mlo_err("ML dev context not found for MLD:" QDF_MAC_ADDR_FMT,
QDF_MAC_ADDR_REF(old_mac->bytes));
return QDF_STATUS_E_INVAL;
}
qdf_copy_macaddr(&ml_dev->mld_addr, new_mac);
return QDF_STATUS_SUCCESS;
}