[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <88f9b443-4a1f-918b-297c-203909d8e219@codeaurora.org>
Date: Wed, 8 Apr 2020 10:19:09 -0600
From: Jeffrey Hugo <jhugo@...eaurora.org>
To: hemantk@...eaurora.org
Cc: manivannan.sadhasivam@...aro.org, linux-arm-msm@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-arm-msm-owner@...r.kernel.org
Subject: Re: [PATCH v2 2/5] bus: mhi: core: Make sure to powerdown if
mhi_sync_power_up fails
On 4/7/2020 7:34 PM, hemantk@...eaurora.org wrote:
> On 2020-04-07 09:50, Jeffrey Hugo wrote:
>> Powerdown is necessary if mhi_sync_power_up fails due to a timeout, to
>> clean up the resources. Otherwise a BUG could be triggered when
>> attempting to clean up MSIs because the IRQ is still active from a
>> request_irq().
>>
>> Signed-off-by: Jeffrey Hugo <jhugo@...eaurora.org>
>> ---
>> drivers/bus/mhi/core/pm.c | 6 +++++-
>> 1 file changed, 5 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/bus/mhi/core/pm.c b/drivers/bus/mhi/core/pm.c
>> index 3285c9e..fbffc6b 100644
>> --- a/drivers/bus/mhi/core/pm.c
>> +++ b/drivers/bus/mhi/core/pm.c
>> @@ -922,7 +922,11 @@ int mhi_sync_power_up(struct mhi_controller
>> *mhi_cntrl)
>> MHI_PM_IN_ERROR_STATE(mhi_cntrl->pm_state),
>> msecs_to_jiffies(mhi_cntrl->timeout_ms));
>>
>> - return (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) ? 0 : -EIO;
>> + ret = (MHI_IN_MISSION_MODE(mhi_cntrl->ee)) ? 0 : -EIO;
>
> Does it make sense to return -ETIMEDOUT instead of -EIO if device fails
> to move to mission mode?
> Controller can use this info as mhi_async_power_up() would not return
> -ETIMEDOUT.
It seems sensible to change this to ETIMEDOUT. I'll queue that up for V3.
>
>> + if (ret)
>> + mhi_power_down(mhi_cntrl, false);
>> +
>> + return ret;
>> }
>> EXPORT_SYMBOL(mhi_sync_power_up);
--
Jeffrey Hugo
Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
Powered by blists - more mailing lists