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  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]
Date:   Mon, 3 Aug 2020 04:27:17 +0000
From:   Pawel Laszczak <pawell@...ence.com>
To:     Peter Chen <peter.chen@....com>
CC:     "balbi@...nel.org" <balbi@...nel.org>,
        "gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
        "linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "rogerq@...com" <rogerq@...com>,
        "dan.carpenter@...cle.com" <dan.carpenter@...cle.com>,
        "heikki.krogerus@...ux.intel.com" <heikki.krogerus@...ux.intel.com>,
        "colin.king@...onical.com" <colin.king@...onical.com>,
        Jayshri Dajiram Pawar <jpawar@...ence.com>,
        "ben.dooks@...ethink.co.uk" <ben.dooks@...ethink.co.uk>,
        Rahul Kumar <kurahul@...ence.com>,
        Sanket Parmar <sparmar@...ence.com>
Subject: RE: [PATCH v2 7/9] usb: cdns3: core: removed 'goto not_otg'

>
>On 20-07-13 12:05:52, Pawel Laszczak wrote:
>> Patch removes 'goto not_otg' instruction from
>> cdns3_hw_role_state_machine function.
>>
>> Signed-off-by: Pawel Laszczak <pawell@...ence.com>
>> ---
>>  drivers/usb/cdns3/core.c | 20 +++++++++-----------
>>  1 file changed, 9 insertions(+), 11 deletions(-)
>>
>> diff --git a/drivers/usb/cdns3/core.c b/drivers/usb/cdns3/core.c
>> index c498b585eb13..8e3996f211a8 100644
>> --- a/drivers/usb/cdns3/core.c
>> +++ b/drivers/usb/cdns3/core.c
>> @@ -191,11 +191,17 @@ static int cdns3_core_init_role(struct cdns3 *cdns)
>>   */
>>  static enum usb_role cdns3_hw_role_state_machine(struct cdns3 *cdns)
>>  {
>> -	enum usb_role role;
>> +	enum usb_role role = USB_ROLE_NONE;
>>  	int id, vbus;
>>
>> -	if (cdns->dr_mode != USB_DR_MODE_OTG)
>> -		goto not_otg;
>> +	if (cdns->dr_mode != USB_DR_MODE_OTG) {
>> +		if (cdns3_is_host(cdns))
>> +			role = USB_ROLE_HOST;
>> +		if (cdns3_is_device(cdns))
>> +			role = USB_ROLE_DEVICE;
>> +
>> +		return role;
>> +	}
>
>Would you please improve it a bit like below:
>
>	if (cdns->dr_mode != USB_DR_MODE_OTG) {
>		if (cdns3_is_host(cdns))
>			role = USB_ROLE_HOST;
>		else if (cdns3_is_device(cdns))
>			role = USB_ROLE_DEVICE;
>		else
>			role = USB_ROLE_NONE;
>
>		return role;
>	}
>

Sorry for delay, I had holiday. 
Currently this patch was added by Greg to his usb-next branch, so 
I don't want to change anything.  Next time I will add such changes. 

>Peter
>>
>>  	id = cdns3_get_id(cdns);
>>  	vbus = cdns3_get_vbus(cdns);
>> @@ -232,14 +238,6 @@ static enum usb_role cdns3_hw_role_state_machine(struct cdns3 *cdns)
>>  	dev_dbg(cdns->dev, "role %d -> %d\n", cdns->role, role);
>>
>>  	return role;
>> -
>> -not_otg:
>> -	if (cdns3_is_host(cdns))
>> -		role = USB_ROLE_HOST;
>> -	if (cdns3_is_device(cdns))
>> -		role = USB_ROLE_DEVICE;
>> -
>> -	return role;
>>  }
>>
>>  static int cdns3_idle_role_start(struct cdns3 *cdns)
>> --
>> 2.17.1
>>
>
>--
>
>Thanks,
>Peter Chen

Thanks,
Pawel

Powered by blists - more mailing lists