summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Hugo <jhugo@codeaurora.org>2021-02-12 17:40:14 -0700
committerLoic Poulain <loic.poulain@linaro.org>2021-02-15 11:37:04 +0100
commit6e3e49bbfe67b717d5a9a0540fa8fad5dead6b14 (patch)
tree788483577ff9c2e7659335e1d28529a332026d13
parentae419de5e1b3b1bc54a242f0f34c65815ef70a7a (diff)
bus: mhi: core: Use current ee in intvec handler for syserr5.11.0-quectel-v6
The intvec handler stores the caches ee in a local variable for use in processing the intvec. When determining if a syserr is a fatal error or not, the intvec handler is using the cached version, when it should be using the current ee read from the device. Currently, the device could be in the PBL ee as the result of a fatal error, but the cached ee might be AMSS, which would cause the intvec handler to incorrectly signal a non-fatal syserr. Fixes: 3000f85b8f47 ("bus: mhi: core: Add support for basic PM operations") Signed-off-by: Jeffrey Hugo <jhugo@codeaurora.org>
-rw-r--r--drivers/bus/mhi/core/main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/bus/mhi/core/main.c b/drivers/bus/mhi/core/main.c
index 4e0131b94056..f1827369e293 100644
--- a/drivers/bus/mhi/core/main.c
+++ b/drivers/bus/mhi/core/main.c
@@ -448,7 +448,7 @@ irqreturn_t mhi_intvec_threaded_handler(int irq_number, void *priv)
wake_up_all(&mhi_cntrl->state_event);
/* For fatal errors, we let controller decide next step */
- if (MHI_IN_PBL(ee))
+ if (MHI_IN_PBL(mhi_cntrl->ee))
mhi_cntrl->status_cb(mhi_cntrl, MHI_CB_FATAL_ERROR);
else
mhi_pm_sys_err_handler(mhi_cntrl);