2010-02-15 21:50:06

by Roel Kluin

[permalink] [raw]
Subject: [PATCH] mtd: misplaced parenthesis in find_boot_record()

The parenthesis was misplaced, upon error a one was shown.

Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/drivers/mtd/inftlmount.c b/drivers/mtd/inftlmount.c
index 32e82ae..a269c62 100644
--- a/drivers/mtd/inftlmount.c
+++ b/drivers/mtd/inftlmount.c
@@ -102,7 +102,7 @@ static int find_boot_record(struct INFTLrecord *inftl)
/* To be safer with BIOS, also use erase mark as discriminant */
if ((ret = inftl_read_oob(mtd, block * inftl->EraseSize +
SECTORSIZE + 8, 8, &retlen,
- (char *)&h1) < 0)) {
+ (char *)&h1)) < 0) {
printk(KERN_WARNING "INFTL: ANAND header found at "
"0x%x in mtd%d, but OOB data read failed "
"(err %d)\n", block * inftl->EraseSize,


2010-02-15 21:54:20

by Roel Kluin

[permalink] [raw]
Subject: Re: [PATCH] mtd: misplaced parenthesis in find_boot_record()

The parenthesis was misplaced

Signed-off-by: Roel Kluin <[email protected]>
---
Not sure if you care about this one, it is between #if 0 ... #endif

diff --git a/drivers/mtd/nftlmount.c b/drivers/mtd/nftlmount.c
index 8b22b18..1ae6a02 100644
--- a/drivers/mtd/nftlmount.c
+++ b/drivers/mtd/nftlmount.c
@@ -109,7 +109,7 @@ static int find_boot_record(struct NFTLrecord *nftl)

/* Finally reread to check ECC */
if ((ret = mtd->read(mtd, block * nftl->EraseSize, SECTORSIZE,
- &retlen, buf) < 0)) {
+ &retlen, buf)) < 0) {
printk(KERN_NOTICE "ANAND header found at 0x%x in mtd%d, but ECC read failed (err %d)\n",
block * nftl->EraseSize, nftl->mbd.mtd->index, ret);
continue;

2010-02-16 09:11:05

by Artem Bityutskiy

[permalink] [raw]
Subject: Re: [PATCH] mtd: misplaced parenthesis in find_boot_record()

On Mon, 2010-02-15 at 23:01 +0100, Roel Kluin wrote:
> The parenthesis was misplaced
>
> Signed-off-by: Roel Kluin <[email protected]>
> ---
> Not sure if you care about this one, it is between #if 0 ... #endif
>
> diff --git a/drivers/mtd/nftlmount.c b/drivers/mtd/nftlmount.c
> index 8b22b18..1ae6a02 100644
> --- a/drivers/mtd/nftlmount.c
> +++ b/drivers/mtd/nftlmount.c
> @@ -109,7 +109,7 @@ static int find_boot_record(struct NFTLrecord *nftl)
>
> /* Finally reread to check ECC */
> if ((ret = mtd->read(mtd, block * nftl->EraseSize, SECTORSIZE,
> - &retlen, buf) < 0)) {
> + &retlen, buf)) < 0) {
> printk(KERN_NOTICE "ANAND header found at 0x%x in mtd%d, but ECC read failed (err %d)\n",
> block * nftl->EraseSize, nftl->mbd.mtd->index, ret);
> continue;

Pushed both patches to my l2-mtd-2.6.git / master.
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)

2010-02-26 13:08:47

by David Woodhouse

[permalink] [raw]
Subject: Re: [PATCH] mtd: misplaced parenthesis in find_boot_record()

On Mon, 2010-02-15 at 22:57 +0100, Roel Kluin wrote:
> The parenthesis was misplaced, upon error a one was shown.
>
> Signed-off-by: Roel Kluin <[email protected]>

> ---
> diff --git a/drivers/mtd/inftlmount.c b/drivers/mtd/inftlmount.c
> index 32e82ae..a269c62 100644
> --- a/drivers/mtd/inftlmount.c
> +++ b/drivers/mtd/inftlmount.c
> @@ -102,7 +102,7 @@ static int find_boot_record(struct INFTLrecord *inftl)
> /* To be safer with BIOS, also use erase mark as discriminant */
> if ((ret = inftl_read_oob(mtd, block * inftl->EraseSize +
> SECTORSIZE + 8, 8, &retlen,
> - (char *)&h1) < 0)) {
> + (char *)&h1)) < 0) {

Ick.

This code is broken because it's fugly. You can see the causality just
by looking at it.

Why on earth would you fix the bug but not fix the fugliness which
caused it?

ret = inftl_read_oob(...);
if (ret < 0) {



--
David Woodhouse Open Source Technology Centre
[email protected] Intel Corporation