diff options
author | Baochen Qiang <quic_bqiang@quicinc.com> | 2023-05-23 14:47:45 +0800 |
---|---|---|
committer | Pierre-Loup A. Griffais <pgriffais@valvesoftware.com> | 2023-11-02 16:07:53 -0700 |
commit | f68ff9e74a9f435a159cc08b0b7670dc744b662a (patch) | |
tree | 89887205d51657e34bcf4d55d6649ac541814bdc /drivers | |
parent | 53af72da86aec0f964c3c6489a3abeadd4f5f915 (diff) | |
download | linux-f68ff9e74a9f435a159cc08b0b7670dc744b662a.tar.gz |
mhi: host: wake up device in mhi_intvec_threaded_handler
Signed-off-by: Baochen Qiang <quic_bqiang@quicinc.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/bus/mhi/host/main.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/bus/mhi/host/main.c b/drivers/bus/mhi/host/main.c index 0c3a009ed9bb..a7aa06b58d90 100644 --- a/drivers/bus/mhi/host/main.c +++ b/drivers/bus/mhi/host/main.c @@ -483,9 +483,12 @@ irqreturn_t mhi_intvec_threaded_handler(int irq_number, void *priv) enum mhi_pm_state pm_state = 0; enum mhi_ee_type ee; + mhi_device_get_sync(mhi_cntrl->mhi_dev); + write_lock_irq(&mhi_cntrl->pm_lock); if (!MHI_REG_ACCESS_VALID(mhi_cntrl->pm_state)) { write_unlock_irq(&mhi_cntrl->pm_lock); + mhi_device_put(mhi_cntrl->mhi_dev); goto exit_intvec; } @@ -502,6 +505,7 @@ irqreturn_t mhi_intvec_threaded_handler(int irq_number, void *priv) MHI_PM_SYS_ERR_DETECT); } write_unlock_irq(&mhi_cntrl->pm_lock); + mhi_device_put(mhi_cntrl->mhi_dev); if (pm_state != MHI_PM_SYS_ERR_DETECT) goto exit_intvec; |