diff mbox series

usb: usb251xb: Remove unnecessary comparison of unsigned integer with >= 0

Message ID 20190318145024.GA572@embeddedor (mailing list archive)
State Mainlined
Commit 22feda47b574c2854cc1a8447a2ae18598752375
Headers show
Series usb: usb251xb: Remove unnecessary comparison of unsigned integer with >= 0 | expand

Commit Message

Gustavo A. R. Silva March 18, 2019, 2:50 p.m. UTC
There is no need to compare *port* with >= 0 because such comparison
of an unsigned value is always true.

Fix this by removing such comparison.

Addresses-Coverity-ID: 1443949 ("Unsigned compared against 0")
Fixes: 02a50b875046 ("usb: usb251xb: add usb data lane port swap feature")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
 drivers/usb/misc/usb251xb.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Marco Felsch March 18, 2019, 3:34 p.m. UTC | #1
Hi Silva,

On 19-03-18 09:50, Gustavo A. R. Silva wrote:
> There is no need to compare *port* with >= 0 because such comparison
> of an unsigned value is always true.

Absolutly.. It seems that it was an copy'n'paste failure. Thanks for
fixing that.

Regards,
Marco

> Fix this by removing such comparison.
> 
> Addresses-Coverity-ID: 1443949 ("Unsigned compared against 0")
> Fixes: 02a50b875046 ("usb: usb251xb: add usb data lane port swap feature")
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
>  drivers/usb/misc/usb251xb.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
> index 4d72b7d1d383..2c8e2cad7e10 100644
> --- a/drivers/usb/misc/usb251xb.c
> +++ b/drivers/usb/misc/usb251xb.c
> @@ -547,7 +547,7 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
>  	 */
>  	hub->port_swap = USB251XB_DEF_PORT_SWAP;
>  	of_property_for_each_u32(np, "swap-dx-lanes", prop, p, port) {
> -		if ((port >= 0) && (port <= data->port_cnt))
> +		if (port <= data->port_cnt)
>  			hub->port_swap |= BIT(port);
>  	}
>  
> -- 
> 2.21.0
> 
>
Richard Leitner March 18, 2019, 3:46 p.m. UTC | #2
Hi Marco, Hi Gustavo,
thanks for the fix, please feel free to add

	Reviewed-by: Richard Leitner <richard.leitner@skidata.com>

On 18/03/2019 16:34, Marco Felsch wrote:
> Hi Silva,
> 
> On 19-03-18 09:50, Gustavo A. R. Silva wrote:
>> There is no need to compare *port* with >= 0 because such comparison
>> of an unsigned value is always true.
> 
> Absolutly.. It seems that it was an copy'n'paste failure. Thanks for
> fixing that.

A small note on further improvement from my side:

According the datasheet, when you set swap-dx-lanes to 0 (-> setting 
port to 0 -> setting bit 0 of PRTSP) "   the upstream port DP/DM is 
swapped".

IMHO this is not straight-forward, so maybe we want to additionally

	a) mention it somewhere in the documentation
	b) check on port >= 1
	c) something else?

Any opinions on that from your side? ... I'd prefer "a"...

regards;Richard.L

> 
> Regards,
> Marco
> 
>> Fix this by removing such comparison.
>>
>> Addresses-Coverity-ID: 1443949 ("Unsigned compared against 0")
>> Fixes: 02a50b875046 ("usb: usb251xb: add usb data lane port swap feature")
>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>> ---
>>   drivers/usb/misc/usb251xb.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
>> index 4d72b7d1d383..2c8e2cad7e10 100644
>> --- a/drivers/usb/misc/usb251xb.c
>> +++ b/drivers/usb/misc/usb251xb.c
>> @@ -547,7 +547,7 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
>>   	 */
>>   	hub->port_swap = USB251XB_DEF_PORT_SWAP;
>>   	of_property_for_each_u32(np, "swap-dx-lanes", prop, p, port) {
>> -		if ((port >= 0) && (port <= data->port_cnt))
>> +		if (port <= data->port_cnt)
>>   			hub->port_swap |= BIT(port);
>>   	}
>>   
>> -- 
>> 2.21.0
>>
>>
>
Marco Felsch March 18, 2019, 4:48 p.m. UTC | #3
Hi Richard,

On 19-03-18 16:46, Richard Leitner wrote:
> Hi Marco, Hi Gustavo,
> thanks for the fix, please feel free to add
> 
> 	Reviewed-by: Richard Leitner <richard.leitner@skidata.com>
> 
> On 18/03/2019 16:34, Marco Felsch wrote:
> > Hi Silva,
> > 
> > On 19-03-18 09:50, Gustavo A. R. Silva wrote:
> > > There is no need to compare *port* with >= 0 because such comparison
> > > of an unsigned value is always true.
> > 
> > Absolutly.. It seems that it was an copy'n'paste failure. Thanks for
> > fixing that.
> 
> A small note on further improvement from my side:
> 
> According the datasheet, when you set swap-dx-lanes to 0 (-> setting port to
> 0 -> setting bit 0 of PRTSP) "   the upstream port DP/DM is swapped".

Yes I know that's not intuitve and may confuses the users.

> IMHO this is not straight-forward, so maybe we want to additionally
> 
> 	a) mention it somewhere in the documentation

IMHO this is the correct place.

> 	b) check on port >= 1

I think this isn't doable since we shouldn't break the existing dt.

Regards,
Marco

> 	c) something else?
> 
> Any opinions on that from your side? ... I'd prefer "a"...
> 
> regards;Richard.L
> 
> > 
> > Regards,
> > Marco
> > 
> > > Fix this by removing such comparison.
> > > 
> > > Addresses-Coverity-ID: 1443949 ("Unsigned compared against 0")
> > > Fixes: 02a50b875046 ("usb: usb251xb: add usb data lane port swap feature")
> > > Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> > > ---
> > >   drivers/usb/misc/usb251xb.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
> > > index 4d72b7d1d383..2c8e2cad7e10 100644
> > > --- a/drivers/usb/misc/usb251xb.c
> > > +++ b/drivers/usb/misc/usb251xb.c
> > > @@ -547,7 +547,7 @@ static int usb251xb_get_ofdata(struct usb251xb *hub,
> > >   	 */
> > >   	hub->port_swap = USB251XB_DEF_PORT_SWAP;
> > >   	of_property_for_each_u32(np, "swap-dx-lanes", prop, p, port) {
> > > -		if ((port >= 0) && (port <= data->port_cnt))
> > > +		if (port <= data->port_cnt)
> > >   			hub->port_swap |= BIT(port);
> > >   	}
> > > -- 
> > > 2.21.0
> > > 
> > > 
> > 
>
Richard Leitner March 19, 2019, 9:33 a.m. UTC | #4
On 18/03/2019 17:48, Marco Felsch wrote:
> On 19-03-18 16:46, Richard Leitner wrote:
>> A small note on further improvement from my side:
>>
>> According the datasheet, when you set swap-dx-lanes to 0 (-> setting port to
>> 0 -> setting bit 0 of PRTSP) "   the upstream port DP/DM is swapped".
> 
> Yes I know that's not intuitve and may confuses the users.
> 
>> IMHO this is not straight-forward, so maybe we want to additionally
>>
>> 	a) mention it somewhere in the documentation
> 
> IMHO this is the correct place.
> 
>> 	b) check on port >= 1
> 
> I think this isn't doable since we shouldn't break the existing dt.

ACK.

@Marco/Gustavo: does one of you wants to provide a patch for this?

> 
> Regards,
> Marco
> 
>> 	c) something else?
>>
>> Any opinions on that from your side? ... I'd prefer "a"...

regards;Richard.L
diff mbox series

Patch

diff --git a/drivers/usb/misc/usb251xb.c b/drivers/usb/misc/usb251xb.c
index 4d72b7d1d383..2c8e2cad7e10 100644
--- a/drivers/usb/misc/usb251xb.c
+++ b/drivers/usb/misc/usb251xb.c
@@ -547,7 +547,7 @@  static int usb251xb_get_ofdata(struct usb251xb *hub,
 	 */
 	hub->port_swap = USB251XB_DEF_PORT_SWAP;
 	of_property_for_each_u32(np, "swap-dx-lanes", prop, p, port) {
-		if ((port >= 0) && (port <= data->port_cnt))
+		if (port <= data->port_cnt)
 			hub->port_swap |= BIT(port);
 	}