[U-Boot] [PATCH] MIIPHYBB: Return 0xFFFF if the PHY is not asserting TA.
Ben Warren
biggerbadderben at gmail.com
Tue Jul 21 07:21:13 CEST 2009
Richard,
Richard Retanubun wrote:
> From d4c7dd98ac9a3f6fc4949079b84d7d811376cf3d Mon Sep 17 00:00:00 2001
> From: Richard Retanubun <RichardRetanubun at RuggedCom.com>
> 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
More information about the U-Boot
mailing list