* [PATCH] MTD: OneNAND: Return only negative error codes
@ 2007-10-12 7:19 Adrian Hunter
2007-10-12 9:30 ` Kyungmin Park
0 siblings, 1 reply; 3+ messages in thread
From: Adrian Hunter @ 2007-10-12 7:19 UTC (permalink / raw)
To: ext Kyungmin Park; +Cc: linux-mtd
The OneNAND driver was confusing JFFS2 by returning positive error
codes.
Signed-off-by: Adrian Hunter <ext-adrian.hunter@nokia.com>
---
drivers/mtd/onenand/onenand_base.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
index f633941..a8c426b 100644
--- a/drivers/mtd/onenand/onenand_base.c
+++ b/drivers/mtd/onenand/onenand_base.c
@@ -327,7 +327,7 @@ static int onenand_wait(struct mtd_info *mtd, int state)
printk(KERN_ERR "onenand_wait: controller error = 0x%04x\n", ctrl);
if (ctrl & ONENAND_CTRL_LOCK)
printk(KERN_ERR "onenand_wait: it's locked error.\n");
- return ctrl;
+ return -EIO;
}
if (interrupt & ONENAND_INT_READ) {
@@ -336,7 +336,7 @@ static int onenand_wait(struct mtd_info *mtd, int state)
if (ecc & ONENAND_ECC_2BIT_ALL) {
printk(KERN_ERR "onenand_wait: ECC error = 0x%04x\n", ecc);
mtd->ecc_stats.failed++;
- return ecc;
+ return -EBADMSG;
} else if (ecc & ONENAND_ECC_1BIT_ALL) {
printk(KERN_INFO "onenand_wait: correctable ECC error = 0x%04x\n", ecc);
mtd->ecc_stats.corrected++;
--
1.4.4.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* RE: [PATCH] MTD: OneNAND: Return only negative error codes
2007-10-12 7:19 [PATCH] MTD: OneNAND: Return only negative error codes Adrian Hunter
@ 2007-10-12 9:30 ` Kyungmin Park
2007-10-14 8:14 ` Artem Bityutskiy
0 siblings, 1 reply; 3+ messages in thread
From: Kyungmin Park @ 2007-10-12 9:30 UTC (permalink / raw)
To: 'Adrian Hunter'; +Cc: linux-mtd
> The OneNAND driver was confusing JFFS2 by returning positive error
> codes.
It's only possible the write case error and it returns the positive 'ctrl' error.
Other case, "2-bit ecc error' is handled with 'mtd->ecc_stat' correctly.
Well, no problem to change to the negative value.
Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
>
> ---
> drivers/mtd/onenand/onenand_base.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mtd/onenand/onenand_base.c b/drivers/mtd/onenand/onenand_base.c
> index f633941..a8c426b 100644
> --- a/drivers/mtd/onenand/onenand_base.c
> +++ b/drivers/mtd/onenand/onenand_base.c
> @@ -327,7 +327,7 @@ static int onenand_wait(struct mtd_info *mtd, int state)
> printk(KERN_ERR "onenand_wait: controller error = 0x%04x\n", ctrl);
> if (ctrl & ONENAND_CTRL_LOCK)
> printk(KERN_ERR "onenand_wait: it's locked error.\n");
> - return ctrl;
> + return -EIO;
> }
>
> if (interrupt & ONENAND_INT_READ) {
> @@ -336,7 +336,7 @@ static int onenand_wait(struct mtd_info *mtd, int state)
> if (ecc & ONENAND_ECC_2BIT_ALL) {
> printk(KERN_ERR "onenand_wait: ECC error = 0x%04x\n", ecc);
> mtd->ecc_stats.failed++;
> - return ecc;
> + return -EBADMSG;
> } else if (ecc & ONENAND_ECC_1BIT_ALL) {
> printk(KERN_INFO "onenand_wait: correctable ECC error = 0x%04x\n", ecc);
> mtd->ecc_stats.corrected++;
> --
> 1.4.4.2
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH] MTD: OneNAND: Return only negative error codes
2007-10-12 9:30 ` Kyungmin Park
@ 2007-10-14 8:14 ` Artem Bityutskiy
0 siblings, 0 replies; 3+ messages in thread
From: Artem Bityutskiy @ 2007-10-14 8:14 UTC (permalink / raw)
To: kmpark; +Cc: linux-mtd, 'Adrian Hunter'
On Fri, 2007-10-12 at 18:30 +0900, Kyungmin Park wrote:
> > The OneNAND driver was confusing JFFS2 by returning positive error
> > codes.
>
> It's only possible the write case error and it returns the positive 'ctrl' error.
> Other case, "2-bit ecc error' is handled with 'mtd->ecc_stat' correctly.
>
> Well, no problem to change to the negative value.
>
> Acked-by: Kyungmin Park <kyungmin.park@samsung.com>
Yeah, it's rare but we caught this in practice, and JFFS2 just calls
BUG() if OneNAND returns positive number while JFFS2 is scanning the
flash medium.
--
Best regards,
Artem Bityutskiy (Битюцкий Артём)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-10-14 8:17 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-12 7:19 [PATCH] MTD: OneNAND: Return only negative error codes Adrian Hunter
2007-10-12 9:30 ` Kyungmin Park
2007-10-14 8:14 ` Artem Bityutskiy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox