public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] MIIPHYBB: Return 0xFFFF if the PHY is not asserting TA.
@ 2009-07-02 17:21 Richard Retanubun
  2009-07-21  5:21 ` Ben Warren
  0 siblings, 1 reply; 2+ messages in thread
From: Richard Retanubun @ 2009-07-02 17:21 UTC (permalink / raw)
  To: u-boot

 From d4c7dd98ac9a3f6fc4949079b84d7d811376cf3d Mon Sep 17 00:00:00 2001
From: Richard Retanubun <RichardRetanubun@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);
  	}

-- 
1.6.2.4

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [U-Boot] [PATCH] MIIPHYBB: Return 0xFFFF if the PHY is not asserting TA.
  2009-07-02 17:21 [U-Boot] [PATCH] MIIPHYBB: Return 0xFFFF if the PHY is not asserting TA Richard Retanubun
@ 2009-07-21  5:21 ` Ben Warren
  0 siblings, 0 replies; 2+ messages in thread
From: Ben Warren @ 2009-07-21  5:21 UTC (permalink / raw)
  To: u-boot

Richard,

Richard Retanubun wrote:
> From d4c7dd98ac9a3f6fc4949079b84d7d811376cf3d Mon Sep 17 00:00:00 2001
> From: Richard Retanubun <RichardRetanubun@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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2009-07-21  5:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-07-02 17:21 [U-Boot] [PATCH] MIIPHYBB: Return 0xFFFF if the PHY is not asserting TA Richard Retanubun
2009-07-21  5:21 ` Ben Warren

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox