qcacmn: Fix to avoid using mutex lock after holding spin lock
Avoid using mutex lock after holding spin lock, use spin lock for the required calls only and not for set and clear MLO VDEV which uses mutex if WLAN_MLO_USE_SPINLOCK is not defined. Change-Id: I9b989aa6a965107bff642e9d1e1009e57e7dddc2 CRs-Fixed: 3204328
This commit is contained in:

committad av
Madan Koyyalamudi

förälder
04bf8070da
incheckning
5076250707
@@ -470,14 +470,16 @@ static void cm_update_vdev_mlme_macaddr(struct cnx_mgr *cm_ctx,
|
||||
if (wlan_vdev_mlme_get_opmode(cm_ctx->vdev) != QDF_STA_MODE)
|
||||
return;
|
||||
|
||||
wlan_vdev_obj_lock(cm_ctx->vdev);
|
||||
if (req->cur_candidate->entry->ie_list.multi_link) {
|
||||
wlan_vdev_obj_lock(cm_ctx->vdev);
|
||||
/* Use link address for ML connection */
|
||||
wlan_vdev_mlme_set_macaddr(cm_ctx->vdev,
|
||||
cm_ctx->vdev->vdev_mlme.linkaddr);
|
||||
wlan_vdev_obj_unlock(cm_ctx->vdev);
|
||||
wlan_vdev_mlme_set_mlo_vdev(cm_ctx->vdev);
|
||||
mlme_debug("set link address for ML connection");
|
||||
} else {
|
||||
wlan_vdev_obj_lock(cm_ctx->vdev);
|
||||
/* Use net_dev address for non-ML connection */
|
||||
mac = (struct qdf_mac_addr *)cm_ctx->vdev->vdev_mlme.mldaddr;
|
||||
if (!qdf_is_macaddr_zero(mac)) {
|
||||
@@ -485,11 +487,11 @@ static void cm_update_vdev_mlme_macaddr(struct cnx_mgr *cm_ctx,
|
||||
mlme_debug(QDF_MAC_ADDR_FMT " for non-ML connection",
|
||||
QDF_MAC_ADDR_REF(mac->bytes));
|
||||
}
|
||||
wlan_vdev_obj_unlock(cm_ctx->vdev);
|
||||
|
||||
wlan_vdev_mlme_clear_mlo_vdev(cm_ctx->vdev);
|
||||
mlme_debug("clear MLO cap for non-ML connection");
|
||||
}
|
||||
wlan_vdev_obj_unlock(cm_ctx->vdev);
|
||||
}
|
||||
#else
|
||||
static inline
|
||||
|
Referens i nytt ärende
Block a user