OSDN Git Service

net: ethernet: stmmac: Fix signedness bug in ipq806x_gmac_of_parse()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 25 Sep 2019 11:05:54 +0000 (14:05 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Jan 2020 09:21:49 +0000 (10:21 +0100)
[ Upstream commit 231042181dc9d6122c6faba64e99ccb25f13cc6c ]

The "gmac->phy_mode" variable is an enum and in this context GCC will
treat it as an unsigned int so the error handling will never be
triggered.

Fixes: b1c17215d718 ("stmmac: add ipq806x glue layer")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/stmicro/stmmac/dwmac-ipq806x.c

index 82de68b..1fc356c 100644 (file)
@@ -203,7 +203,7 @@ static void *ipq806x_gmac_of_parse(struct ipq806x_gmac *gmac)
        struct device *dev = &gmac->pdev->dev;
 
        gmac->phy_mode = of_get_phy_mode(dev->of_node);
-       if (gmac->phy_mode < 0) {
+       if ((int)gmac->phy_mode < 0) {
                dev_err(dev, "missing phy mode property\n");
                return ERR_PTR(-EINVAL);
        }