> Fix this by moving the of_mdiobus_register() call earlier. > > Cc: Andy Fleming <aflem...@freescale.com> > Signed-off-by: Baruch Siach <bar...@tkos.co.il> > --- > drivers/net/ethernet/freescale/fsl_pq_mdio.c | 14 +++++++------- > 1 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/drivers/net/ethernet/freescale/fsl_pq_mdio.c > b/drivers/net/ethernet/freescale/fsl_pq_mdio.c > index 52f4e8a..e17fd2f 100644 > --- a/drivers/net/ethernet/freescale/fsl_pq_mdio.c > +++ b/drivers/net/ethernet/freescale/fsl_pq_mdio.c > @@ -385,6 +385,13 @@ static int fsl_pq_mdio_probe(struct platform_device > *ofdev) > tbiaddr = *prop; > } > > + err = of_mdiobus_register(new_bus, np); > + if (err) { > + printk (KERN_ERR "%s: Cannot register as MDIO bus\n", > + new_bus->name); > + goto err_free_irqs; > + } > +
This fix totally breaks the point of setting tbipa beforehand. mdiobus_register will cause the bus to be scanned, and if any of the PHYs are at the default address for tbipa, they won't be found. I have a different fix which I will (re)submit today. > if (tbiaddr == -1) { > out_be32(tbipa, 0); Andy _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev