Patchwork [U-Boot] net: designware: fix uninitialized phy_addr usage

login
register
mail settings
Submitter Mike Frysinger
Date June 2, 2011, 3:19 p.m.
Message ID <1307027978-13418-2-git-send-email-vapier@gentoo.org>
Download mbox | patch
Permalink /patch/98424/
State Accepted
Commit f0ece9e93447bb600689eb1a41dbcc99560b333d
Delegated to: Wolfgang Denk
Headers show

Comments

Mike Frysinger - June 2, 2011, 3:19 p.m.
When CONFIG_DW_SEARCH_PHY is disabled, the local phy_addr variable never
gets initialized causes random behavior at runtime and a gcc warning.  So
set it by default to the stored phy address.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
 drivers/net/designware.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)
Vipin Kumar - June 6, 2011, 4:21 a.m.
On 6/2/2011 8:49 PM, Mike Frysinger wrote:
> When CONFIG_DW_SEARCH_PHY is disabled, the local phy_addr variable never
> gets initialized causes random behavior at runtime and a gcc warning.  So
> set it by default to the stored phy address.
> 
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> ---
>  drivers/net/designware.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/net/designware.c b/drivers/net/designware.c
> index 96f20d1..bfa4384 100644
> --- a/drivers/net/designware.c
> +++ b/drivers/net/designware.c
> @@ -383,6 +383,8 @@ static int configure_phy(struct eth_device *dev)
>  		priv->address = phy_addr;
>  	else
>  		return -1;
> +#else
> +	phy_addr = priv->address;
>  #endif
>  	if (dw_reset_phy(dev) < 0)
>  		return -1;

Reviewed-by: Vipin Kumar <vipin.kumar@st.com>
Thanks Mike

Regards
Vipin
Wolfgang Denk - July 25, 2011, 8:21 p.m.
Dear Mike Frysinger,

In message <1307027978-13418-2-git-send-email-vapier@gentoo.org> you wrote:
> When CONFIG_DW_SEARCH_PHY is disabled, the local phy_addr variable never
> gets initialized causes random behavior at runtime and a gcc warning.  So
> set it by default to the stored phy address.
> 
> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
> ---
>  drivers/net/designware.c |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)

Applied (with minimal changes to the commit message which is missing
a 'which" or so), thanks.

Best regards,

Wolfgang Denk

Patch

diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index 96f20d1..bfa4384 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -383,6 +383,8 @@  static int configure_phy(struct eth_device *dev)
 		priv->address = phy_addr;
 	else
 		return -1;
+#else
+	phy_addr = priv->address;
 #endif
 	if (dw_reset_phy(dev) < 0)
 		return -1;