mtd: utilize `mtd_is_*()' functions
Signed-off-by: Brian Norris <computersforpeace@gmail.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
This commit is contained in:

committed by
Artem Bityutskiy

parent
7387ce7732
commit
d57f40544a
@@ -172,9 +172,9 @@ int ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset,
|
||||
retry:
|
||||
err = ubi->mtd->read(ubi->mtd, addr, len, &read, buf);
|
||||
if (err) {
|
||||
const char *errstr = (err == -EBADMSG) ? " (ECC error)" : "";
|
||||
const char *errstr = mtd_is_eccerr(err) ? " (ECC error)" : "";
|
||||
|
||||
if (err == -EUCLEAN) {
|
||||
if (mtd_is_bitflip(err)) {
|
||||
/*
|
||||
* -EUCLEAN is reported if there was a bit-flip which
|
||||
* was corrected, so this is harmless.
|
||||
@@ -205,7 +205,7 @@ retry:
|
||||
* all the requested data. But some buggy drivers might do
|
||||
* this, so we change it to -EIO.
|
||||
*/
|
||||
if (read != len && err == -EBADMSG) {
|
||||
if (read != len && mtd_is_eccerr(err)) {
|
||||
ubi_assert(0);
|
||||
err = -EIO;
|
||||
}
|
||||
@@ -469,7 +469,7 @@ static int torture_peb(struct ubi_device *ubi, int pnum)
|
||||
|
||||
out:
|
||||
mutex_unlock(&ubi->buf_mutex);
|
||||
if (err == UBI_IO_BITFLIPS || err == -EBADMSG) {
|
||||
if (err == UBI_IO_BITFLIPS || mtd_is_eccerr(err)) {
|
||||
/*
|
||||
* If a bit-flip or data integrity error was detected, the test
|
||||
* has not passed because it happened on a freshly erased
|
||||
@@ -760,7 +760,7 @@ int ubi_io_read_ec_hdr(struct ubi_device *ubi, int pnum,
|
||||
|
||||
read_err = ubi_io_read(ubi, ec_hdr, pnum, 0, UBI_EC_HDR_SIZE);
|
||||
if (read_err) {
|
||||
if (read_err != UBI_IO_BITFLIPS && read_err != -EBADMSG)
|
||||
if (read_err != UBI_IO_BITFLIPS && !mtd_is_eccerr(read_err))
|
||||
return read_err;
|
||||
|
||||
/*
|
||||
@@ -776,7 +776,7 @@ int ubi_io_read_ec_hdr(struct ubi_device *ubi, int pnum,
|
||||
|
||||
magic = be32_to_cpu(ec_hdr->magic);
|
||||
if (magic != UBI_EC_HDR_MAGIC) {
|
||||
if (read_err == -EBADMSG)
|
||||
if (mtd_is_eccerr(read_err))
|
||||
return UBI_IO_BAD_HDR_EBADMSG;
|
||||
|
||||
/*
|
||||
@@ -1032,12 +1032,12 @@ int ubi_io_read_vid_hdr(struct ubi_device *ubi, int pnum,
|
||||
p = (char *)vid_hdr - ubi->vid_hdr_shift;
|
||||
read_err = ubi_io_read(ubi, p, pnum, ubi->vid_hdr_aloffset,
|
||||
ubi->vid_hdr_alsize);
|
||||
if (read_err && read_err != UBI_IO_BITFLIPS && read_err != -EBADMSG)
|
||||
if (read_err && read_err != UBI_IO_BITFLIPS && !mtd_is_eccerr(read_err))
|
||||
return read_err;
|
||||
|
||||
magic = be32_to_cpu(vid_hdr->magic);
|
||||
if (magic != UBI_VID_HDR_MAGIC) {
|
||||
if (read_err == -EBADMSG)
|
||||
if (mtd_is_eccerr(read_err))
|
||||
return UBI_IO_BAD_HDR_EBADMSG;
|
||||
|
||||
if (ubi_check_pattern(vid_hdr, 0xFF, UBI_VID_HDR_SIZE)) {
|
||||
@@ -1219,7 +1219,7 @@ static int paranoid_check_peb_ec_hdr(const struct ubi_device *ubi, int pnum)
|
||||
return -ENOMEM;
|
||||
|
||||
err = ubi_io_read(ubi, ec_hdr, pnum, 0, UBI_EC_HDR_SIZE);
|
||||
if (err && err != UBI_IO_BITFLIPS && err != -EBADMSG)
|
||||
if (err && err != UBI_IO_BITFLIPS && !mtd_is_eccerr(err))
|
||||
goto exit;
|
||||
|
||||
crc = crc32(UBI_CRC32_INIT, ec_hdr, UBI_EC_HDR_SIZE_CRC);
|
||||
@@ -1306,7 +1306,7 @@ static int paranoid_check_peb_vid_hdr(const struct ubi_device *ubi, int pnum)
|
||||
p = (char *)vid_hdr - ubi->vid_hdr_shift;
|
||||
err = ubi_io_read(ubi, p, pnum, ubi->vid_hdr_aloffset,
|
||||
ubi->vid_hdr_alsize);
|
||||
if (err && err != UBI_IO_BITFLIPS && err != -EBADMSG)
|
||||
if (err && err != UBI_IO_BITFLIPS && !mtd_is_eccerr(err))
|
||||
goto exit;
|
||||
|
||||
crc = crc32(UBI_CRC32_INIT, vid_hdr, UBI_EC_HDR_SIZE_CRC);
|
||||
@@ -1358,7 +1358,7 @@ int ubi_dbg_check_write(struct ubi_device *ubi, const void *buf, int pnum,
|
||||
}
|
||||
|
||||
err = ubi->mtd->read(ubi->mtd, addr, len, &read, buf1);
|
||||
if (err && err != -EUCLEAN)
|
||||
if (err && !mtd_is_bitflip(err))
|
||||
goto out_free;
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
@@ -1422,7 +1422,7 @@ int ubi_dbg_check_all_ff(struct ubi_device *ubi, int pnum, int offset, int len)
|
||||
}
|
||||
|
||||
err = ubi->mtd->read(ubi->mtd, addr, len, &read, buf);
|
||||
if (err && err != -EUCLEAN) {
|
||||
if (err && !mtd_is_bitflip(err)) {
|
||||
ubi_err("error %d while reading %d bytes from PEB %d:%d, "
|
||||
"read %zd bytes", err, len, pnum, offset, read);
|
||||
goto error;
|
||||
|
Reference in New Issue
Block a user