lkml.org 
[lkml]   [2020]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2 2/5] bus: mhi: core: Make sure to powerdown if mhi_sync_power_up fails
From
Date
On 4/7/2020 7:34 PM, hemantk@codeaurora.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@codeaurora.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.

\
 
 \ /
  Last update: 2020-04-08 18:20    [W:0.962 / U:1.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site