OSDN Git Service

enetc: Fix a signedness bug in enetc_of_get_phy()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 25 Sep 2019 10:57:14 +0000 (13:57 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 27 Sep 2019 08:03:41 +0000 (10:03 +0200)
The "priv->if_mode" is type phy_interface_t which is an enum.  In this
context GCC will treat the enum as an unsigned int so this error
handling is never triggered.

Fixes: d4fd0404c1c9 ("enetc: Introduce basic PF and VF ENETC ethernet drivers")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/enetc/enetc_pf.c

index 7d6513f..b73421c 100644 (file)
@@ -785,7 +785,7 @@ static int enetc_of_get_phy(struct enetc_ndev_priv *priv)
        }
 
        priv->if_mode = of_get_phy_mode(np);
-       if (priv->if_mode < 0) {
+       if ((int)priv->if_mode < 0) {
                dev_err(priv->dev, "missing phy type\n");
                of_node_put(priv->phy_node);
                if (of_phy_is_fixed_link(np))