[PATCH 2/6] miidev: actually probe the PHY

Johannes Stezenbach js at sig21.net
Mon Jun 18 15:39:28 EDT 2012


Hi,

On Mon, Jun 18, 2012 at 08:27:08PM +0200, Roberto Nibali wrote:
> On Mon, Jun 18, 2012 at 4:47 PM, Johannes Stezenbach <js at sig21.net> wrote:
> 
> > Check if the PHY is really accessible (e.g. the
> > PHY address is correct) during probe.
> >
> > Signed-off-by: Johannes Stezenbach <js at sig21.net>
> > ---
> >  drivers/net/miidev.c |   12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> >
> > diff --git a/drivers/net/miidev.c b/drivers/net/miidev.c
> > index 272234e..3545889 100644
> > --- a/drivers/net/miidev.c
> > +++ b/drivers/net/miidev.c
> > @@ -225,6 +225,14 @@ static struct file_operations miidev_ops = {
> >  static int miidev_probe(struct device_d *dev)
> >  {
> >        struct mii_device *mdev = dev->priv;
> > +       int val;
> > +
> > +       val = mii_read(mdev, mdev->address, MII_PHYSID1);
> > +       if (val < 0 || val == 0xffff)
> > +               goto err_out;
> > +       val = mii_read(mdev, mdev->address, MII_PHYSID2);
> > +       if (val < 0 || val == 0xffff)
> > +               goto err_out;
> >
> >
> Suppose this has no influence on drivers/net/fec_imx.c:fec_set_hwaddr()
> returning -1?

Well, the MAC address goes to the MAC not the PHY... so it
shouldn't have any adverse effect on that.

Besides checking that the PHY address is correct this also
catches cases where the PHY is broken or not soldered correctly,
or when the MDIO clock divisor is wrong etc. 
Can save time in trouble shooting.


Johannes



More information about the barebox mailing list