|
@@ -211,19 +211,21 @@ static int gfar_mdio_probe(struct device *dev)
|
|
gfar_write(&enet_regs->tbipa, 0);
|
|
gfar_write(&enet_regs->tbipa, 0);
|
|
for (i = PHY_MAX_ADDR; i > 0; i--) {
|
|
for (i = PHY_MAX_ADDR; i > 0; i--) {
|
|
u32 phy_id;
|
|
u32 phy_id;
|
|
- int r;
|
|
|
|
|
|
|
|
- r = get_phy_id(new_bus, i, &phy_id);
|
|
|
|
- if (r)
|
|
|
|
- return r;
|
|
|
|
|
|
+ err = get_phy_id(new_bus, i, &phy_id);
|
|
|
|
+ if (err)
|
|
|
|
+ goto bus_register_fail;
|
|
|
|
|
|
if (phy_id == 0xffffffff)
|
|
if (phy_id == 0xffffffff)
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
/* The bus is full. We don't support using 31 PHYs, sorry */
|
|
/* The bus is full. We don't support using 31 PHYs, sorry */
|
|
- if (i == 0)
|
|
|
|
- return -EBUSY;
|
|
|
|
|
|
+ if (i == 0) {
|
|
|
|
+ err = -EBUSY;
|
|
|
|
+
|
|
|
|
+ goto bus_register_fail;
|
|
|
|
+ }
|
|
|
|
|
|
gfar_write(&enet_regs->tbipa, i);
|
|
gfar_write(&enet_regs->tbipa, i);
|
|
|
|
|