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
Tento commit je obsažen v:

odevzdal
Madan Koyyalamudi

rodič
04bf8070da
revize
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
|
||||
|
Odkázat v novém úkolu
Zablokovat Uživatele