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