mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:44:45 +01:00
bus: mhi: core: Improve mhi_sync_power_up handling for SYS_ERR state
Allow mhi_sync_power_up to handle SYS_ERR during power-up, reboot, or recovery. This is to avoid premature exit when MHI_PM_IN_ERROR_STATE is observed during above mentioned system states. To achieve this, treat SYS_ERR as a valid state and let its handler process the error and queue the next transition to Mission Mode instead of aborting early. Signed-off-by: Vivek Pernamitta <quic_vpernami@quicinc.com> [mani: reworded description] Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com> Link: https://patch.msgid.link/20250912-uevent_vdev_next-20250911-v4-5-fa2f6ccd301b@quicinc.com
This commit is contained in:
parent
12543f4405
commit
aa1a0e93ed
2 changed files with 3 additions and 1 deletions
|
|
@ -170,6 +170,8 @@ enum mhi_pm_state {
|
|||
MHI_PM_IN_ERROR_STATE(pm_state))
|
||||
#define MHI_PM_IN_SUSPEND_STATE(pm_state) (pm_state & \
|
||||
(MHI_PM_M3_ENTER | MHI_PM_M3))
|
||||
#define MHI_PM_FATAL_ERROR(pm_state) ((pm_state == MHI_PM_FW_DL_ERR) || \
|
||||
(pm_state >= MHI_PM_SYS_ERR_FAIL))
|
||||
|
||||
#define NR_OF_CMD_RINGS 1
|
||||
#define CMD_EL_PER_RING 128
|
||||
|
|
|
|||
|
|
@ -1287,7 +1287,7 @@ int mhi_sync_power_up(struct mhi_controller *mhi_cntrl)
|
|||
mhi_cntrl->ready_timeout_ms : mhi_cntrl->timeout_ms;
|
||||
wait_event_timeout(mhi_cntrl->state_event,
|
||||
MHI_IN_MISSION_MODE(mhi_cntrl->ee) ||
|
||||
MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state),
|
||||
MHI_PM_FATAL_ERROR(mhi_cntrl->pm_state),
|
||||
msecs_to_jiffies(timeout_ms));
|
||||
|
||||
ret = (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) ? 0 : -ETIMEDOUT;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue