From: Kyungmin Park Date: Mon, 31 Mar 2008 01:40:36 +0000 (+0900) Subject: Fix OneNAND read X-Git-Tag: v1.3.3-rc1~85 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=77e475cc0ed1832160017d364be32a0be9ff02a9;p=u-boot Fix OneNAND read It should access with 16-bit instead of 8-bit Now it uses the generic memcpy with 8-bit access. It means it reads wrong data from OneNAND. Signed-off-by: Kyungmin Park --- diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c index 3b828fb627..174384eab9 100644 --- a/drivers/mtd/onenand/onenand_base.c +++ b/drivers/mtd/onenand/onenand_base.c @@ -20,6 +20,19 @@ #include #include +/* It should access 16-bit instead of 8-bit */ +static inline void *memcpy(void *dst, const void *src, unsigned int len) +{ + void *ret = dst; + short *d = dst; + const short *s = src; + + len >>= 1; + while (len-- > 0) + *d++ = *s++; + return ret; +} + static const unsigned char ffchars[] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, /* 16 */