diff options
author | YueHaibing <yuehaibing@huawei.com> | 2021-07-07 15:53:35 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-07-07 13:43:50 -0700 |
commit | eca81f09145d765c21dd8fb1ba5d874ca255c32c (patch) | |
tree | 1d9f62a9c7a47c19ac5c2ce5a4a50f191f4157b9 /drivers/net | |
parent | 0d472c69c6a5e22cef9e5809e2f6d0ccd5934f4a (diff) | |
download | linux-eca81f09145d765c21dd8fb1ba5d874ca255c32c.tar.gz linux-eca81f09145d765c21dd8fb1ba5d874ca255c32c.tar.bz2 linux-eca81f09145d765c21dd8fb1ba5d874ca255c32c.zip |
stmmac: platform: Fix signedness bug in stmmac_probe_config_dt()
The "plat->phy_interface" variable is an enum and in this context GCC
will treat it as an unsigned int so the error handling is never
triggered.
Fixes: b9f0b2f634c0 ("net: stmmac: platform: fix probe for ACPI devices")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c index 072eff8079d0..5ca710844cc1 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -397,6 +397,7 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) struct device_node *np = pdev->dev.of_node; struct plat_stmmacenet_data *plat; struct stmmac_dma_cfg *dma_cfg; + int phy_mode; void *ret; int rc; @@ -412,10 +413,11 @@ stmmac_probe_config_dt(struct platform_device *pdev, u8 *mac) eth_zero_addr(mac); } - plat->phy_interface = device_get_phy_mode(&pdev->dev); - if (plat->phy_interface < 0) - return ERR_PTR(plat->phy_interface); + phy_mode = device_get_phy_mode(&pdev->dev); + if (phy_mode < 0) + return ERR_PTR(phy_mode); + plat->phy_interface = phy_mode; plat->interface = stmmac_of_get_mac_mode(np); if (plat->interface < 0) plat->interface = plat->phy_interface; |