mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-22 02:17:36 -04:00
bus: mhi: ep: Add missing state_lock protection for mhi_state access
The mhi_cntrl->mhi_state field should be protected by state_lock to ensure atomic state transitions. However, mhi_ep_power_up() access mhi_state without holding this lock, which can race with concurrent state transitions and lead to state corruption. Add proper state_lock protection around mhi_state access. Fixes:fb3a26b7e8("bus: mhi: ep: Add support for powering up the MHI endpoint stack") Fixes:f7d0806bdb("bus: mhi: ep: Add support for handling SYS_ERR condition") Signed-off-by: Sumit Kumar <sumit.kumar@oss.qualcomm.com> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Link: https://patch.msgid.link/20260414-reset_worker_deadlock-v2-2-42fd682b45db@oss.qualcomm.com
This commit is contained in:
committed by
Manivannan Sadhasivam
parent
9dece4435d
commit
ce3e534ee9
@@ -1147,7 +1147,9 @@ int mhi_ep_power_up(struct mhi_ep_cntrl *mhi_cntrl)
|
||||
for (i = 0; i < mhi_cntrl->event_rings; i++)
|
||||
mhi_ep_ring_init(&mhi_cntrl->mhi_event[i].ring, RING_TYPE_ER, i);
|
||||
|
||||
mutex_lock(&mhi_cntrl->state_lock);
|
||||
mhi_cntrl->mhi_state = MHI_STATE_RESET;
|
||||
mutex_unlock(&mhi_cntrl->state_lock);
|
||||
|
||||
/* Set AMSS EE before signaling ready state */
|
||||
mhi_ep_mmio_set_env(mhi_cntrl, MHI_EE_AMSS);
|
||||
|
||||
Reference in New Issue
Block a user