aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/bus/mhi/core/internal.h
diff options
context:
space:
mode:
authorHemant Kumar <hemantk@codeaurora.org>2020-05-21 22:32:45 +0530
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2020-05-22 09:35:43 +0200
commit3c1bd0047124f506294520341cfe03e19ea773e3 (patch)
tree6569eabee3cba0d69a546ffa0573ef57bbf7626b /drivers/bus/mhi/core/internal.h
parentbus: mhi: core: Remove the system error worker thread (diff)
downloadwireguard-linux-3c1bd0047124f506294520341cfe03e19ea773e3.tar.xz
wireguard-linux-3c1bd0047124f506294520341cfe03e19ea773e3.zip
bus: mhi: core: Handle disable transitions in state worker
Mission mode transition is handled by state worker thread but power off is not. There is a possibility while mission mode transition is in progress which calls MHI client driver probe, power off is issued by MHI controller. This results into client driver probe and remove running in parallel and causes use after free situation. By queuing disable transition work when mission mode is in progress prevents the race condition. Signed-off-by: Hemant Kumar <hemantk@codeaurora.org> Reviewed-by: Jeffrey Hugo <jhugo@codeaurora.org> Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Link: https://lore.kernel.org/r/20200521170249.21795-11-manivannan.sadhasivam@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/bus/mhi/core/internal.h')
-rw-r--r--drivers/bus/mhi/core/internal.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/bus/mhi/core/internal.h b/drivers/bus/mhi/core/internal.h
index f01283b8a451..b1f640b75a94 100644
--- a/drivers/bus/mhi/core/internal.h
+++ b/drivers/bus/mhi/core/internal.h
@@ -387,6 +387,7 @@ enum dev_st_transition {
DEV_ST_TRANSITION_SBL,
DEV_ST_TRANSITION_MISSION_MODE,
DEV_ST_TRANSITION_SYS_ERR,
+ DEV_ST_TRANSITION_DISABLE,
DEV_ST_TRANSITION_MAX,
};