Re: [PATCH V1] extcon/usb: Remove disable irq operation in system sleep.

From: Vignesh Raghavendra
Date: Mon Mar 07 2022 - 08:21:47 EST


Hi,

On 03/03/22 2:50 pm, Roger Quadros wrote:
> +TI folks Aswath & Vignesh.
>

Thanks for looping in.

> Hi Bruce,
>
> On 03/03/2022 09:36, Bruce Chen wrote:
>> From: Bruce Chen <bruce.chen@xxxxxxxxxx>
>>
>> If disable vbus/id irq, it will lead to wakeup system fail
>> in unisoc platform. In unisoc platform, Irq enable and irq
>> wakeup are the same interrupt line. So remove disable vbus/id
>> irq operation is a way to solve the issue>
>> Signed-off-by: Bruce Chen <bruce.chen@xxxxxxxxxx>
>> ---
>> drivers/extcon/extcon-usb-gpio.c | 15 ---------------
>> 1 file changed, 15 deletions(-)
>>
>> diff --git a/drivers/extcon/extcon-usb-gpio.c b/drivers/extcon/extcon-usb-gpio.c
>> index f2b65d9..40d967a 100644
>> --- a/drivers/extcon/extcon-usb-gpio.c
>> +++ b/drivers/extcon/extcon-usb-gpio.c
>> @@ -226,16 +226,6 @@ static int usb_extcon_suspend(struct device *dev)
>> }
>> }
>>
>> - /*
>> - * We don't want to process any IRQs after this point
>> - * as GPIOs used behind I2C subsystem might not be
>> - * accessible until resume completes. So disable IRQ.
>> - */
>
> I think the reason this was added was that if USB cable is plugged/unplugged
> while system was suspending it was causing some faults on TI DRA7 EVM
> at usb_irq_handler()/usb_extcon_detect_cable() when it tries to read GPIO status
> when I2C based GPIO controller was used but already suspended.
> But looks like disabling the IRQ is not the right approach either so your patch
> is right.
>
> However I'm not sure if the above issue will still exist on DRA7 and other TI EVMS
> using ID/VBUS GPIO over I2C device.
>
> Let's wait for Aswath/Vignesh to confirm. If no issues I'm OK with this patch.


Support for suspend/resume on DRA7x isn't really maintained actively.
Hence, cannot really test the patch. But, no objections for this patch
either.

[...]

Regards
Vignesh