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 <yuehaib...@huawei.com>
---
 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;
-- 
2.7.0


Reply via email to