[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