The miiphy_read/miiphy_write functions return 1 on error, not -errno. Fix up the checks accordingly and insert -EIO as fallback error code.
Signed-off-by: Daniel Klauer <daniel.kla...@gin.de> --- drivers/net/phy/mv88e6352.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/drivers/net/phy/mv88e6352.c b/drivers/net/phy/mv88e6352.c index 56060762d8..a87af7ed24 100644 --- a/drivers/net/phy/mv88e6352.c +++ b/drivers/net/phy/mv88e6352.c @@ -36,16 +36,14 @@ static int sw_wait_rdy(const char *devname, u8 phy_addr) { u16 command; u32 timeout = 100; - int ret; /* wait till the SMI is not busy */ do { /* read command register */ - ret = miiphy_read(devname, phy_addr, COMMAND_REG, &command); - if (ret < 0) { + if (miiphy_read(devname, phy_addr, COMMAND_REG, &command)) { printf("%s: Error reading command register\n", __func__); - return ret; + return -EIO; } if (timeout-- == 0) { printf("Err..(%s) SMI busy timeout\n", __func__); @@ -69,17 +67,17 @@ static int sw_reg_read(const char *devname, u8 phy_addr, u8 port, command = SMI_HDR | SMIRD_OP | ((port&SMI_MASK) << PORT_SHIFT) | (reg & SMI_MASK); debug("%s: write to command: %#x\n", __func__, command); - ret = miiphy_write(devname, phy_addr, COMMAND_REG, command); - if (ret) - return ret; + if (miiphy_write(devname, phy_addr, COMMAND_REG, command)) + return -EIO; ret = sw_wait_rdy(devname, phy_addr); if (ret) return ret; - ret = miiphy_read(devname, phy_addr, DATA_REG, data); + if (miiphy_read(devname, phy_addr, DATA_REG, data)) + return -EIO; - return ret; + return 0; } static int sw_reg_write(const char *devname, u8 phy_addr, u8 port, @@ -93,16 +91,14 @@ static int sw_reg_write(const char *devname, u8 phy_addr, u8 port, return ret; debug("%s: write to data: %#x\n", __func__, data); - ret = miiphy_write(devname, phy_addr, DATA_REG, data); - if (ret) - return ret; + if (miiphy_write(devname, phy_addr, DATA_REG, data)) + return -EIO; value = SMI_HDR | SMIWR_OP | ((port & SMI_MASK) << PORT_SHIFT) | (reg & SMI_MASK); debug("%s: write to command: %#x\n", __func__, value); - ret = miiphy_write(devname, phy_addr, COMMAND_REG, value); - if (ret) - return ret; + if (miiphy_write(devname, phy_addr, COMMAND_REG, value)) + return -EIO; ret = sw_wait_rdy(devname, phy_addr); if (ret) -- 2.32.0