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: Protect mhi_ep_handle_syserr() in the error path
All the callers of mhi_ep_handle_syserr() except mhi_ep_process_cmd_ring()
are holding the 'state_lock' to avoid the race in setting the MHI state. So
do the same in mhi_ep_process_cmd_ring() for sanity.
Fixes: e827569062 ("bus: mhi: ep: Add support for processing command rings")
Cc: stable@vger.kernel.org # 5.18
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Link: https://patch.msgid.link/20260302085612.18725-1-manivannan.sadhasivam@oss.qualcomm.com
This commit is contained in:
@@ -232,7 +232,9 @@ static int mhi_ep_process_cmd_ring(struct mhi_ep_ring *ring, struct mhi_ring_ele
|
||||
ret = mhi_ep_create_device(mhi_cntrl, ch_id);
|
||||
if (ret) {
|
||||
dev_err(dev, "Error creating device for channel (%u)\n", ch_id);
|
||||
mutex_lock(&mhi_cntrl->state_lock);
|
||||
mhi_ep_handle_syserr(mhi_cntrl);
|
||||
mutex_unlock(&mhi_cntrl->state_lock);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user