bus: mhi: core: Rely on accurate method to determine EDL mode
authorBhaumik Bhatt <bbhatt@codeaurora.org>
Tue, 30 Mar 2021 01:28:18 +0000 (18:28 -0700)
committerManivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Wed, 31 Mar 2021 11:17:07 +0000 (16:47 +0530)
Relying on the current execution environment to determine if EDL
image was downloaded should not be done as the execution
environment can change at this point in error cases and we may
misread it. Instead, MHI can rely on the local 'fw_name' variable
as a safer alternative.

Signed-off-by: Bhaumik Bhatt <bbhatt@codeaurora.org>
Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Reviewed-by: Loic Poulain <loic.poulain@linaro.org>
Link: https://lore.kernel.org/r/1617067704-28850-2-git-send-email-bbhatt@codeaurora.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/bus/mhi/core/boot.c

index 08c28740dc4e5df032a2522dffdd3b94b1d21196..84c21178144a5e1079fd61f39601768a89c8c6ed 100644 (file)
@@ -460,7 +460,8 @@ void mhi_fw_load_handler(struct mhi_controller *mhi_cntrl)
                goto error_fw_load;
        }
 
-       if (mhi_cntrl->ee == MHI_EE_EDL) {
+       /* Exit if EDL image was loaded */
+       if (fw_name == mhi_cntrl->edl_image) {
                release_firmware(firmware);
                return;
        }