Re: [PATCH -next] usb: typec: mux: Fix unsigned comparison with less than zero

From: Heikki Krogerus
Date: Tue Feb 19 2019 - 02:48:12 EST


On Tue, Feb 19, 2019 at 02:57:50PM +0800, YueHaibing wrote:
> The return from the call to fwnode_property_read_u16_array is int,
> it can be a negative error code however this is being assigned to
> an size_t variable 'nval', hence the check is always false.
> Fix this by making 'nval' an int.
>
> Detected by Coccinelle ("Unsigned expression compared with
> zero: nval < 0")
>
> Fixes: 96a6d031ca99 ("usb: typec: mux: Find the muxes by also matching against the device node")
> Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>

Acked-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx>

> ---
> drivers/usb/typec/mux.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/usb/typec/mux.c b/drivers/usb/typec/mux.c
> index a5947d9..54d7497 100644
> --- a/drivers/usb/typec/mux.c
> +++ b/drivers/usb/typec/mux.c
> @@ -126,7 +126,7 @@ static void *typec_mux_match(struct device_connection *con, int ep, void *data)
> {
> const struct typec_altmode_desc *desc = data;
> struct typec_mux *mux;
> - size_t nval;
> + int nval;
> bool match;
> u16 *val;
> int i;

thanks,

--
heikki