lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0c8047d5-e171-2953-be50-b9a21c4b22d8@samsung.com>
Date:   Fri, 11 Mar 2022 14:26:08 +0900
From:   Chanwoo Choi <cw00.choi@...sung.com>
To:     Roger Quadros <rogerq@...nel.org>,
        Bruce Chen <brucechen251@...il.com>, bruce.chen@...soc.com,
        myungjoo.ham@...sung.com, linux-kernel@...r.kernel.org,
        Aswath Govindraju <a-govindraju@...com>,
        Vignesh Raghavendra <vigneshr@...com>
Cc:     orsonzhai@...il.com, gengcixi@...il.com, baolin.wang7@...il.com,
        zhang.lyra@...il.com
Subject: Re: [PATCH V1] extcon/usb: Remove disable irq operation in system
 sleep.

On 3/3/22 6:20 PM, Roger Quadros wrote:
> +TI folks Aswath & Vignesh.
> 
> Hi Bruce,
> 
> On 03/03/2022 09:36, Bruce Chen wrote:
>> From: Bruce Chen <bruce.chen@...soc.com>
>>
>> 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@...soc.com>
>> ---
>>  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.
> 
>> -	if (info->id_gpiod)
>> -		disable_irq(info->id_irq);
>> -	if (info->vbus_gpiod)
>> -		disable_irq(info->vbus_irq);
>> -
>>  	if (!device_may_wakeup(dev))
>>  		pinctrl_pm_select_sleep_state(dev);
>>  
>> @@ -267,11 +257,6 @@ static int usb_extcon_resume(struct device *dev)
>>  		}
>>  	}
>>  
>> -	if (info->id_gpiod)
>> -		enable_irq(info->id_irq);
>> -	if (info->vbus_gpiod)
>> -		enable_irq(info->vbus_irq);
>> -
>>  	queue_delayed_work(system_power_efficient_wq,
>>  			   &info->wq_detcable, 0);
>>  
> 
> cheers,
> -roger
> 
> 

Applied it after editing the patch title as following: Thanks.

- extcon: usb-gpio: Remove disable irq operation in system sleep


-- 
Best Regards,
Chanwoo Choi
Samsung Electronics

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ