[oe-commits] Koen Kooi : linux-omap 2.6.32: add patch to fix NAND ECC errors

git version control git at git.openembedded.org
Sat Jan 2 16:14:44 UTC 2010


Module: openembedded.git
Branch: martin_jansa/srcpv
Commit: e197d7b594a1a6aebeb0ec476d88ff0871b7c482
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=e197d7b594a1a6aebeb0ec476d88ff0871b7c482

Author: Koen Kooi <koen at openembedded.org>
Date:   Fri Jan  1 11:30:37 2010 +0100

linux-omap 2.6.32: add patch to fix NAND ECC errors

---

 ...ap2-proper-fix-for-subpage-read-ECC-error.patch |   35 ++++++++++++++++++++
 recipes/linux/linux-omap_2.6.32.bb                 |    1 +
 2 files changed, 36 insertions(+), 0 deletions(-)

diff --git a/recipes/linux/linux-omap-2.6.32/0009-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch b/recipes/linux/linux-omap-2.6.32/0009-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch
new file mode 100644
index 0000000..6e7f706
--- /dev/null
+++ b/recipes/linux/linux-omap-2.6.32/0009-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch
@@ -0,0 +1,35 @@
+From 64e4fc11b960da97728e0d87dcf4c1e98f808501 Mon Sep 17 00:00:00 2001
+From: Steve Sakoman <steve at sakoman.com>
+Date: Thu, 31 Dec 2009 07:05:02 -0800
+Subject: [PATCH] MTD: NAND: omap2: proper fix for subpage read ECC errors
+
+---
+ drivers/mtd/nand/omap2.c |   11 +++++++----
+ 1 files changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
+index 1bb799f..75004fe 100644
+--- a/drivers/mtd/nand/omap2.c
++++ b/drivers/mtd/nand/omap2.c
+@@ -295,11 +295,14 @@ static void omap_read_buf_pref(struct mtd_info *mtd, u_char *buf, int len)
+ 	u32 *p = (u32 *)buf;
+ 
+ 	/* take care of subpage reads */
+-	for (; len % 4 != 0; ) {
+-		*buf++ = __raw_readb(info->nand.IO_ADDR_R);
+-		len--;
++	if (len % 4) {
++		if (info->nand.options & NAND_BUSWIDTH_16)
++			omap_read_buf16(mtd, buf, len % 4);
++		else
++			omap_read_buf8(mtd, buf, len % 4);
++		p = (u32 *) (buf + len % 4);
++		len -= len % 4;
+ 	}
+-	p = (u32 *) buf;
+ 
+ 	/* configure and start prefetch transfer */
+ 	ret = gpmc_prefetch_enable(info->gpmc_cs, 0x0, len, 0x0);
+-- 
+1.6.5
+
diff --git a/recipes/linux/linux-omap_2.6.32.bb b/recipes/linux/linux-omap_2.6.32.bb
index f8472b3..285c260 100644
--- a/recipes/linux/linux-omap_2.6.32.bb
+++ b/recipes/linux/linux-omap_2.6.32.bb
@@ -29,6 +29,7 @@ file://0004-drivers-input-touchscreen-ads7846-return-ENODEV.patch;patch=1 \
 file://0005-ARM-OMAP-add-support-for-TCT-Zippy-to-Beagle-board.patch;patch=1 \
 file://0006-ARM-OMAP-Make-beagle-u-boot-partition-writable.patch;patch=1 \
 file://0007-ASoC-enable-audio-capture-by-default-for-twl4030.patch;patch=1 \
+file://0009-MTD-NAND-omap2-proper-fix-for-subpage-read-ECC-error.patch;patch=1 \
 file://madc/0009-drivers-mfd-add-twl4030-madc-driver.patch;patch=1 \
 file://madc/0010-ARM-OMAP-Add-twl4030-madc-support-to-Overo.patch;patch=1 \
 file://madc/0011-ARM-OMAP-Add-twl4030-madc-support-to-Beagle.patch;patch=1 \





More information about the Openembedded-commits mailing list