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] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 07 Nov 2022 18:02:34 +0300
From:   Yassine Oudjana <yassine.oudjana@...il.com>
To:     Marek Vasut <marex@...x.de>
Cc:     MyungJoo Ham <myungjoo.ham@...sung.com>,
        Chanwoo Choi <cw00.choi@...sung.com>,
        Alvin Šipraga <alsi@...g-olufsen.dk>,
        Heikki Krogerus <heikki.krogerus@...ux.intel.com>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org,
        Yassine Oudjana <y.oudjana@...tonmail.com>
Subject: Re: [PATCH] extcon: usbc-tusb320: Call the Type-C IRQ handler only if
 a port is registered


On Mon, Nov 7 2022 at 15:51:55 +01:00:00, Marek Vasut <marex@...x.de> 
wrote:
> On 11/7/22 15:48, Yassine Oudjana wrote:
>> From: Yassine Oudjana <y.oudjana@...tonmail.com>
>> 
>> Commit bf7571c00dca ("extcon: usbc-tusb320: Add USB TYPE-C support")
>> added an optional Type-C interface to the driver but missed to check
>> if it is in use when calling the IRQ handler. This causes an oops on
>> devices currently using the old extcon interface. Check if a Type-C
>> port is registered before calling the Type-C IRQ handler.
>> 
>> Fixes: bf7571c00dca ("extcon: usbc-tusb320: Add USB TYPE-C support")
>> Signed-off-by: Yassine Oudjana <y.oudjana@...tonmail.com>
>> ---
>>   drivers/extcon/extcon-usbc-tusb320.c | 9 ++++++++-
>>   1 file changed, 8 insertions(+), 1 deletion(-)
>> 
>> diff --git a/drivers/extcon/extcon-usbc-tusb320.c 
>> b/drivers/extcon/extcon-usbc-tusb320.c
>> index 41041ff0fadb..037bc11b2a48 100644
>> --- a/drivers/extcon/extcon-usbc-tusb320.c
>> +++ b/drivers/extcon/extcon-usbc-tusb320.c
>> @@ -327,7 +327,14 @@ static irqreturn_t tusb320_irq_handler(int irq, 
>> void *dev_id)
>>   		return IRQ_NONE;
>>     	tusb320_extcon_irq_handler(priv, reg);
>> -	tusb320_typec_irq_handler(priv, reg);
>> +
>> +	/*
>> +	 * Type-C support is optional for backward compatibility.
> 
> It's the other way around, extcon is the legacy, type-c is the new, 
> right ?

Type-C is the new one, yes. This comment is somewhat similar to the one 
in tusb320_typec_probe():

/* The Type-C connector is optional, for backward compatibility. */

Perhaps a better way to say this in both comments would be "to 
maintain" instead of "for".

> 
>> +	 * Only call the Type-C handler if a port had been registered
>> +	 * previously.
>> +	 */
>> +	if (priv->port)
>> +		tusb320_typec_irq_handler(priv, reg);
>>     	regmap_write(priv->regmap, TUSB320_REG9, reg);
> 
> Reviewed-by: Marek Vasut <marex@...x.de>
> 
> Thanks!

Thanks for the quick review!
Yassine



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ