Patchwork FEC: Fix kernel panic in fec_set_mac_address.

login
register
mail settings
Submitter Tim Gardner
Date May 4, 2010, 4:16 p.m.
Message ID <4BE04862.2030503@canonical.com>
Download mbox | patch
Permalink /patch/51630/
State Superseded
Delegated to: Stefan Bader
Headers show

Comments

Tim Gardner - May 4, 2010, 4:16 p.m.
Bryan - this looks like a bonafide bug (forwarded from LKML)

-------- Original Message --------
Subject: [PATCH] FEC: Fix kernel panic in fec_set_mac_address.
Date: Tue, 04 May 2010 16:16:30 +0200
From: Mattias Walstrom <mattias@vmlinux.org>
To: netdev@vger.kernel.org

Fix memory corruption that sometimes result in kernel panic.

Signed-off-by: Mattias Walström <mattias@vmlinux.org>

fec.c |    2 +-
1 file changed, 1 insertion(+), 1 deletion(-)




--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Bryan Wu - May 5, 2010, 3:28 a.m.
On 05/05/2010 12:16 AM, Tim Gardner wrote:
> Bryan - this looks like a bonafide bug (forwarded from LKML)
>

Tim, thanks. I will file a launchpad bug firstly and ask mobile guys to verify 
this, since I don't have fsl-imx51 hardware now.

-Bryan

> -------- Original Message --------
> Subject: [PATCH] FEC: Fix kernel panic in fec_set_mac_address.
> Date: Tue, 04 May 2010 16:16:30 +0200
> From: Mattias Walstrom <mattias@vmlinux.org>
> To: netdev@vger.kernel.org
>
> Fix memory corruption that sometimes result in kernel panic.
>
> Signed-off-by: Mattias Walström <mattias@vmlinux.org>
>
> fec.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/fec.c b/drivers/net/fec.c
> index 9f98c1c..9b4e8f7 100644
> --- a/drivers/net/fec.c
> +++ b/drivers/net/fec.c
> @@ -1653,7 +1653,7 @@ fec_set_mac_address(struct net_device *dev, void *p)
> (dev->dev_addr[1] << 16) | (dev->dev_addr[0] << 24),
> fep->hwp + FEC_ADDR_LOW);
> writel((dev->dev_addr[5] << 16) | (dev->dev_addr[4] << 24),
> - fep + FEC_ADDR_HIGH);
> + fep->hwp + FEC_ADDR_HIGH);
> return 0;
> }
>
>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

Patch

diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 9f98c1c..9b4e8f7 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -1653,7 +1653,7 @@  fec_set_mac_address(struct net_device *dev, void *p)
  		(dev->dev_addr[1] << 16) | (dev->dev_addr[0] << 24),
  		fep->hwp + FEC_ADDR_LOW);
  	writel((dev->dev_addr[5] << 16) | (dev->dev_addr[4] << 24),
-		fep + FEC_ADDR_HIGH);
+		fep->hwp + FEC_ADDR_HIGH);
  	return 0;
  }