Commit 05237f73 authored by karl beldan's avatar karl beldan Committed by Joe Hershberger

net: davinci_emac: Restore the internal MDIO accessors return values

The spatch series converting legacy drivers from miiphy_register to
mdio_register changed the return convention of the davinci_emac internal
MDIO accessors, making the internal code relying on it misbehaving:
no mdiodev get registered and U-Boot crashes when using net cmds in the
context of the old legacy net API.

ATM davinci_emac_initialize and cpu_eth_init don't return a proper value
in that case but fixing them would not avoid the crash.

This change is just a follow-up to the spatch pass, the MDIO accessors
of the mdiodev introduced by the spatch pass retain their proper values.
Signed-off-by: default avatarKarl Beldan <>
Acked-by: default avatarJoe Hershberger <>
parent c23c7d46
......@@ -223,10 +223,10 @@ int davinci_eth_phy_read(u_int8_t phy_addr, u_int8_t reg_num, u_int16_t *data)
*data = tmp & 0xffff;
return 0;
return 1;
return -EIO;
return 0;
/* Write to a PHY register via MDIO inteface. Blocks until operation is complete. */
......@@ -247,7 +247,7 @@ int davinci_eth_phy_write(u_int8_t phy_addr, u_int8_t reg_num, u_int16_t data)
while (readl(&adap_mdio->USERACCESS0) & MDIO_USERACCESS0_GO)
return 0;
return 1;
/* PHY functions for a generic PHY */
......@@ -374,15 +374,14 @@ static int davinci_mii_phy_read(struct mii_dev *bus, int addr, int devad,
unsigned short value = 0;
int retval = davinci_eth_phy_read(addr, reg, &value);
if (retval < 0)
return retval;
return value;
return retval ? value : -EIO;
static int davinci_mii_phy_write(struct mii_dev *bus, int addr, int devad,
int reg, u16 value)
return davinci_eth_phy_write(addr, reg, value);
return davinci_eth_phy_write(addr, reg, value) ? 0 : 1;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment