usb: typec: stusb160x: fix some signedness bugs
authorDan Carpenter <dan.carpenter@oracle.com>
Fri, 23 Oct 2020 11:24:12 +0000 (14:24 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 28 Oct 2020 12:12:45 +0000 (13:12 +0100)
These variables are enums but in this situation GCC will treat them as
unsigned so the conditions are never true.

Fixes: da0cb6310094 ("usb: typec: add support for STUSB160x Type-C controller family")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20201023112412.GD282278@mwanda
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/stusb160x.c

index ce0bd7b..7143852 100644 (file)
@@ -545,7 +545,7 @@ static int stusb160x_get_fw_caps(struct stusb160x *chip,
        ret = fwnode_property_read_string(fwnode, "power-role", &cap_str);
        if (!ret) {
                chip->port_type = typec_find_port_power_role(cap_str);
-               if (chip->port_type < 0) {
+               if ((int)chip->port_type < 0) {
                        ret = chip->port_type;
                        return ret;
                }
@@ -567,9 +567,10 @@ static int stusb160x_get_fw_caps(struct stusb160x *chip,
        if (!ret) {
                chip->pwr_opmode = typec_find_pwr_opmode(cap_str);
                /* Power delivery not yet supported */
-               if (chip->pwr_opmode < 0 ||
+               if ((int)chip->pwr_opmode < 0 ||
                    chip->pwr_opmode == TYPEC_PWR_MODE_PD) {
-                       ret = chip->pwr_opmode < 0 ? chip->pwr_opmode : -EINVAL;
+                       ret = (int)chip->pwr_opmode < 0 ? chip->pwr_opmode :
+                                                         -EINVAL;
                        dev_err(chip->dev, "bad power operation mode: %d\n",
                                chip->pwr_opmode);
                        return ret;