| From 753bc08e9ca02091c9a4ac41e1e993fcc54f3124 Mon Sep 17 00:00:00 2001 |
| From: Felix Radensky <felix@embedded-sol.com> |
| Date: Mon, 25 Apr 2011 01:57:12 +0300 |
| Subject: [PATCH] mtd: mtdconcat: fix NAND OOB write |
| |
| commit 431e1ecabddcd7cbba237182ddf431771f98bb4c upstream. |
| |
| Currently mtdconcat is broken for NAND. An attemtpt to create |
| JFFS2 filesystem on concatenation of several NAND devices fails |
| with OOB write errors. This patch fixes that problem. |
| |
| Signed-off-by: Felix Radensky <felix@embedded-sol.com> |
| Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> |
| Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| --- |
| drivers/mtd/mtdconcat.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/mtd/mtdconcat.c b/drivers/mtd/mtdconcat.c |
| index db6de74..b140257 100644 |
| --- a/drivers/mtd/mtdconcat.c |
| +++ b/drivers/mtd/mtdconcat.c |
| @@ -306,7 +306,7 @@ concat_write_oob(struct mtd_info *mtd, loff_t to, struct mtd_oob_ops *ops) |
| if (!(mtd->flags & MTD_WRITEABLE)) |
| return -EROFS; |
| |
| - ops->retlen = 0; |
| + ops->retlen = ops->oobretlen = 0; |
| |
| for (i = 0; i < concat->num_subdev; i++) { |
| struct mtd_info *subdev = concat->subdev[i]; |
| @@ -321,7 +321,7 @@ concat_write_oob(struct mtd_info *mtd, loff_t to, struct mtd_oob_ops *ops) |
| devops.len = subdev->size - to; |
| |
| err = subdev->write_oob(subdev, to, &devops); |
| - ops->retlen += devops.retlen; |
| + ops->retlen += devops.oobretlen; |
| if (err) |
| return err; |
| |
| -- |
| 1.7.9.3 |
| |