[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