From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Mon, 20 Jul 2009 22:21:13 -0700 Subject: [U-Boot] [PATCH] MIIPHYBB: Return 0xFFFF if the PHY is not asserting TA. In-Reply-To: <4A4CEC92.9080906@RuggedCom.com> References: <4A4CEC92.9080906@RuggedCom.com> Message-ID: <4A655049.406@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Richard, Richard Retanubun wrote: > From d4c7dd98ac9a3f6fc4949079b84d7d811376cf3d Mon Sep 17 00:00:00 2001 > From: Richard Retanubun > Date: Thu, 2 Jul 2009 13:12:03 -0400 > Subject: [PATCH] MIIPHYBB: Return 0xFFFF if the PHY is not asserting TA. > > This patch sets the returned value to 0xFFFF if the PHY does not exist > and does not assert Transfer Acknowledge. A NULL check for the value > pointer is also added for buffer overflow protection. > > Without this patch 'mii info' will show 'phantom' devices because the > value will be not be initialized and return with some random value. > --- > drivers/net/phy/miiphybb.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/drivers/net/phy/miiphybb.c b/drivers/net/phy/miiphybb.c > index e3c163a..b77c917 100644 > --- a/drivers/net/phy/miiphybb.c > +++ b/drivers/net/phy/miiphybb.c > @@ -127,6 +127,11 @@ int bb_miiphy_read (char *devname, unsigned char > addr, > volatile ioport_t *iop = ioport_addr ((immap_t *) > CONFIG_SYS_IMMR, MDIO_PORT); > #endif > > + if (value == NULL) { > + puts("NULL value pointer\n"); > + return (-1); > + } > + > miiphy_pre (1, addr, reg); > > /* tri-state our MDIO I/O pin so we can read */ > @@ -145,6 +150,8 @@ int bb_miiphy_read (char *devname, unsigned char > addr, > MDC (1); > MIIDELAY; > } > + /* There is no PHY, set value to 0xFFFF and return */ > + *value = 0xFFFF; > return (-1); > } > Applied to net repo. Please add SOB next time and send e-mail as plain text. regards, Ben