Loading drivers/bus/mhi/core/mhi_main.c +27 −6 Original line number Diff line number Diff line Loading @@ -1851,6 +1851,7 @@ int mhi_prepare_channel(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan) { int ret = 0; bool in_mission_mode = false; MHI_LOG("Entered: preparing channel:%d\n", mhi_chan->chan); Loading Loading @@ -1889,7 +1890,12 @@ int mhi_prepare_channel(struct mhi_controller *mhi_cntrl, goto error_pm_state; } /* block host low power modes */ if (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) { atomic_inc(&mhi_cntrl->pending_pkts); in_mission_mode = true; } mhi_cntrl->wake_toggle(mhi_cntrl); if (MHI_PM_IN_SUSPEND_STATE(mhi_cntrl->pm_state)) mhi_trigger_resume(mhi_cntrl); Loading @@ -1910,6 +1916,7 @@ int mhi_prepare_channel(struct mhi_controller *mhi_cntrl, goto error_dec_pendpkt; } if (in_mission_mode) atomic_dec(&mhi_cntrl->pending_pkts); write_lock_irq(&mhi_chan->lock); Loading Loading @@ -2094,6 +2101,7 @@ static void __mhi_unprepare_channel(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan) { int ret; bool in_mission_mode = false; MHI_LOG("Entered: unprepare channel:%d\n", mhi_chan->chan); Loading @@ -2117,7 +2125,12 @@ static void __mhi_unprepare_channel(struct mhi_controller *mhi_cntrl, goto error_invalid_state; } /* block host low power modes */ if (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) { atomic_inc(&mhi_cntrl->pending_pkts); in_mission_mode = true; } mhi_cntrl->wake_toggle(mhi_cntrl); if (MHI_PM_IN_SUSPEND_STATE(mhi_cntrl->pm_state)) mhi_trigger_resume(mhi_cntrl); Loading @@ -2136,6 +2149,7 @@ static void __mhi_unprepare_channel(struct mhi_controller *mhi_cntrl, MHI_ERR("Failed to receive cmd completion, still resetting\n"); error_dec_pendpkt: if (in_mission_mode) atomic_dec(&mhi_cntrl->pending_pkts); error_invalid_state: if (!mhi_chan->offload_ch) { Loading Loading @@ -2345,6 +2359,7 @@ static int mhi_update_channel_state(struct mhi_controller *mhi_cntrl, enum MHI_CMD cmd) { int ret = -EIO; bool in_mission_mode = false; mutex_lock(&mhi_chan->mutex); Loading @@ -2367,7 +2382,12 @@ static int mhi_update_channel_state(struct mhi_controller *mhi_cntrl, goto error_chan_state; } /* block host low power modes */ if (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) { atomic_inc(&mhi_cntrl->pending_pkts); in_mission_mode = true; } mhi_cntrl->wake_toggle(mhi_cntrl); if (MHI_PM_IN_SUSPEND_STATE(mhi_cntrl->pm_state)) mhi_trigger_resume(mhi_cntrl); Loading @@ -2394,6 +2414,7 @@ static int mhi_update_channel_state(struct mhi_controller *mhi_cntrl, mhi_chan->chan, cmd == MHI_CMD_START_CHAN ? "START" : "STOP"); error_dec_pendpkt: if (in_mission_mode) atomic_dec(&mhi_cntrl->pending_pkts); error_chan_state: mutex_unlock(&mhi_chan->mutex); Loading Loading
drivers/bus/mhi/core/mhi_main.c +27 −6 Original line number Diff line number Diff line Loading @@ -1851,6 +1851,7 @@ int mhi_prepare_channel(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan) { int ret = 0; bool in_mission_mode = false; MHI_LOG("Entered: preparing channel:%d\n", mhi_chan->chan); Loading Loading @@ -1889,7 +1890,12 @@ int mhi_prepare_channel(struct mhi_controller *mhi_cntrl, goto error_pm_state; } /* block host low power modes */ if (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) { atomic_inc(&mhi_cntrl->pending_pkts); in_mission_mode = true; } mhi_cntrl->wake_toggle(mhi_cntrl); if (MHI_PM_IN_SUSPEND_STATE(mhi_cntrl->pm_state)) mhi_trigger_resume(mhi_cntrl); Loading @@ -1910,6 +1916,7 @@ int mhi_prepare_channel(struct mhi_controller *mhi_cntrl, goto error_dec_pendpkt; } if (in_mission_mode) atomic_dec(&mhi_cntrl->pending_pkts); write_lock_irq(&mhi_chan->lock); Loading Loading @@ -2094,6 +2101,7 @@ static void __mhi_unprepare_channel(struct mhi_controller *mhi_cntrl, struct mhi_chan *mhi_chan) { int ret; bool in_mission_mode = false; MHI_LOG("Entered: unprepare channel:%d\n", mhi_chan->chan); Loading @@ -2117,7 +2125,12 @@ static void __mhi_unprepare_channel(struct mhi_controller *mhi_cntrl, goto error_invalid_state; } /* block host low power modes */ if (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) { atomic_inc(&mhi_cntrl->pending_pkts); in_mission_mode = true; } mhi_cntrl->wake_toggle(mhi_cntrl); if (MHI_PM_IN_SUSPEND_STATE(mhi_cntrl->pm_state)) mhi_trigger_resume(mhi_cntrl); Loading @@ -2136,6 +2149,7 @@ static void __mhi_unprepare_channel(struct mhi_controller *mhi_cntrl, MHI_ERR("Failed to receive cmd completion, still resetting\n"); error_dec_pendpkt: if (in_mission_mode) atomic_dec(&mhi_cntrl->pending_pkts); error_invalid_state: if (!mhi_chan->offload_ch) { Loading Loading @@ -2345,6 +2359,7 @@ static int mhi_update_channel_state(struct mhi_controller *mhi_cntrl, enum MHI_CMD cmd) { int ret = -EIO; bool in_mission_mode = false; mutex_lock(&mhi_chan->mutex); Loading @@ -2367,7 +2382,12 @@ static int mhi_update_channel_state(struct mhi_controller *mhi_cntrl, goto error_chan_state; } /* block host low power modes */ if (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) { atomic_inc(&mhi_cntrl->pending_pkts); in_mission_mode = true; } mhi_cntrl->wake_toggle(mhi_cntrl); if (MHI_PM_IN_SUSPEND_STATE(mhi_cntrl->pm_state)) mhi_trigger_resume(mhi_cntrl); Loading @@ -2394,6 +2414,7 @@ static int mhi_update_channel_state(struct mhi_controller *mhi_cntrl, mhi_chan->chan, cmd == MHI_CMD_START_CHAN ? "START" : "STOP"); error_dec_pendpkt: if (in_mission_mode) atomic_dec(&mhi_cntrl->pending_pkts); error_chan_state: mutex_unlock(&mhi_chan->mutex); Loading