From: "Brian Norris" <computersforpeace@gmail.com>
To: "Artem Bityutskiy" <dedekind1@gmail.com>
Cc: Kevin Cernekee <cernekee@gmail.com>,
Matthieu Castet <matthieu.castet@parrot.com>,
Jim Quinlan <jim2101024@gmail.com>,
linux-mtd@lists.infradead.org,
Brian Norris <computersforpeace@gmail.com>,
David Woodhouse <dwmw2@infradead.org>,
Matthew Creech <mlcreech@gmail.com>
Subject: [PATCH 01/14] mtd: nand: refactor scanning code
Date: Wed, 7 Sep 2011 13:13:28 -0700 [thread overview]
Message-ID: <1315426421-16243-2-git-send-email-computersforpeace@gmail.com> (raw)
In-Reply-To: <1315426421-16243-1-git-send-email-computersforpeace@gmail.com>
A few pieces of code are unnecessarily duplicated. For easier
maintenance, we should fix this.
This should have no functional effect.
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
---
drivers/mtd/nand/nand_bbt.c | 26 +++++++-------------------
1 files changed, 7 insertions(+), 19 deletions(-)
diff --git a/drivers/mtd/nand/nand_bbt.c b/drivers/mtd/nand/nand_bbt.c
index c488bcb..cbf9b69 100644
--- a/drivers/mtd/nand/nand_bbt.c
+++ b/drivers/mtd/nand/nand_bbt.c
@@ -306,28 +306,16 @@ static int scan_read_raw_oob(struct mtd_info *mtd, uint8_t *buf, loff_t offs,
ops.ooboffs = 0;
ops.ooblen = mtd->oobsize;
-
while (len > 0) {
- if (len <= mtd->writesize) {
- ops.oobbuf = buf + len;
- ops.datbuf = buf;
- ops.len = len;
- res = mtd->read_oob(mtd, offs, &ops);
-
- /* Ignore ECC errors when checking for BBM */
- if (res != -EUCLEAN && res != -EBADMSG)
- return res;
- return 0;
- } else {
- ops.oobbuf = buf + mtd->writesize;
- ops.datbuf = buf;
- ops.len = mtd->writesize;
- res = mtd->read_oob(mtd, offs, &ops);
+ ops.datbuf = buf;
+ ops.len = min(len, (size_t)mtd->writesize);
+ ops.oobbuf = buf + ops.len;
- /* Ignore ECC errors when checking for BBM */
- if (res && res != -EUCLEAN && res != -EBADMSG)
- return res;
- }
+ res = mtd->read_oob(mtd, offs, &ops);
+
+ /* Ignore ECC errors when checking for BBM */
+ if (res && res != -EUCLEAN && res != -EBADMSG)
+ return res;
buf += mtd->oobsize + mtd->writesize;
len -= mtd->writesize;
--
1.7.5.4
next prev parent reply other threads:[~2011-09-07 20:14 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-07 20:13 [PATCH 00/14] mtd: nand: improve flash-based BBT robustness Brian Norris
2011-09-07 20:13 ` Brian Norris [this message]
2011-09-11 13:58 ` [PATCH 01/14] mtd: nand: refactor scanning code Artem Bityutskiy
2011-09-07 20:13 ` [PATCH 02/14] mtd: nand: do not ignore all ECC errors Brian Norris
2011-09-11 13:58 ` Artem Bityutskiy
2011-09-07 20:13 ` [PATCH 03/14] mtd: define `is_ecc_error()' macros Brian Norris
2011-09-11 13:57 ` Artem Bityutskiy
2011-09-19 4:14 ` Artem Bityutskiy
2011-09-19 18:43 ` Brian Norris
2011-09-20 7:19 ` Artem Bityutskiy
2011-09-21 1:30 ` [PATCH v2 03/14] mtd: define `mtd_is_*()' functions Brian Norris
2011-09-21 1:40 ` [PATCH 03/14] mtd: define `is_ecc_error()' macros Brian Norris
2011-09-21 6:24 ` Artem Bityutskiy
2011-09-07 20:13 ` [PATCH 04/14] mtd: utilize " Brian Norris
2011-09-21 1:34 ` [PATCH v2 04/14] mtd: utilize `mtd_is_*()' functions Brian Norris
2011-09-07 20:13 ` [PATCH 05/14] mtd: nand: remove unnecessary variable Brian Norris
2011-09-11 13:58 ` Artem Bityutskiy
2011-09-07 20:13 ` [PATCH 06/14] mtd: nand: fix style Brian Norris
2011-09-11 14:00 ` Artem Bityutskiy
2011-09-07 20:13 ` [PATCH 07/14] mtd: nand: begin restructuring check_create Brian Norris
2011-09-07 20:13 ` [PATCH 08/14] mtd: nand: remove gotos in `check_create()' Brian Norris
2011-09-07 20:13 ` [PATCH 09/14] mtd: nand: report ECC errors properly when reading BBT Brian Norris
2011-09-21 1:35 ` [PATCH v2 " Brian Norris
2011-09-07 20:13 ` [PATCH 10/14] mtd: nand: scrub BBT on ECC errors Brian Norris
2011-09-21 1:35 ` [PATCH v2 " Brian Norris
2011-09-07 20:13 ` [PATCH 11/14] mtd: nand: wait to set BBT version Brian Norris
2011-09-21 1:35 ` [PATCH v2 " Brian Norris
2011-09-07 20:13 ` [PATCH 12/14] mtd: nand: do not scan bad blocks with NAND_BBT_NO_OOB set Brian Norris
2011-09-21 1:36 ` [PATCH v2 " Brian Norris
2011-09-07 20:13 ` [PATCH 13/14] mtd: nand: invalidate cache on unaligned reads Brian Norris
2011-09-07 20:13 ` [PATCH 14/14] mtd: nand: switch `check_pattern()' to standard `memcmp()' Brian Norris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1315426421-16243-2-git-send-email-computersforpeace@gmail.com \
--to=computersforpeace@gmail.com \
--cc=cernekee@gmail.com \
--cc=dedekind1@gmail.com \
--cc=dwmw2@infradead.org \
--cc=jim2101024@gmail.com \
--cc=linux-mtd@lists.infradead.org \
--cc=matthieu.castet@parrot.com \
--cc=mlcreech@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).