net: socionext: Fix a signedness bug in ave_probe()
authorDan Carpenter <dan.carpenter@oracle.com>
Wed, 25 Sep 2019 10:57:50 +0000 (13:57 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 27 Jan 2020 13:51:15 +0000 (14:51 +0100)
[ Upstream commit 7f9e88e6ef8c971f2c638b5ff7044c59b5d0f58d ]

The "phy_mode" variable is an enum and in this context GCC treats it as
an unsigned int so the error handling is never triggered.

Fixes: 4c270b55a5af ("net: ethernet: socionext: add AVE ethernet driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/socionext/sni_ave.c

index 09d25b8..c309acc 100644 (file)
@@ -1575,7 +1575,7 @@ static int ave_probe(struct platform_device *pdev)
 
        np = dev->of_node;
        phy_mode = of_get_phy_mode(np);
-       if (phy_mode < 0) {
+       if ((int)phy_mode < 0) {
                dev_err(dev, "phy-mode not found\n");
                return -EINVAL;
        }