git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mtd: utilize `mtd_is_*()' functions
[pandora-kernel.git]
/
drivers
/
mtd
/
ubi
/
io.c
diff --git
a/drivers/mtd/ubi/io.c
b/drivers/mtd/ubi/io.c
index
6ba55c2
..
f20b6f2
100644
(file)
--- a/
drivers/mtd/ubi/io.c
+++ b/
drivers/mtd/ubi/io.c
@@
-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) {
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.
/*
* -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.
*/
* 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;
}
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);
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
/*
* 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) {
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;
/*
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) {
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;
/*
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);
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) {
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)) {
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);
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);
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);
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);
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);
}
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++) {
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);
}
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;
ubi_err("error %d while reading %d bytes from PEB %d:%d, "
"read %zd bytes", err, len, pnum, offset, read);
goto error;