[patch 2/4] tokenring/3c359.c: fixed array index problem
From: akpm@linux-foundation.org
Date: 2007-10-16 21:25:08
From: Marcus Meissner <redacted> The xl_laa array is just 6 bytes long, so we should substract 10 from the index, like is also done some lines above already. Signed-off-by: Marcus Meissner <redacted> Reviewed-by: Pekka Enberg <redacted> Cc: Jeff Garzik <redacted> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- drivers/net/tokenring/3c359.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/net/tokenring/3c359.c~tokenring-3c359c-fixed-array-index-problem drivers/net/tokenring/3c359.c
--- a/drivers/net/tokenring/3c359.c~tokenring-3c359c-fixed-array-index-problem
+++ a/drivers/net/tokenring/3c359.c@@ -760,7 +760,7 @@ static int xl_open_hw(struct net_device if (xl_priv->xl_laa[0]) { /* If using a LAA address */ for (i=10;i<16;i++) { writel( (MEM_BYTE_WRITE | 0xD0000 | xl_priv->srb) + i, xl_mmio + MMIO_MAC_ACCESS_CMD) ; - writeb(xl_priv->xl_laa[i],xl_mmio + MMIO_MACDATA) ; + writeb(xl_priv->xl_laa[i-10], xl_mmio + MMIO_MACDATA); } memcpy(dev->dev_addr,xl_priv->xl_laa,dev->addr_len) ; } else { /* Regular hardware address */
_