diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2018-09-12 09:40:34 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2018-09-20 11:27:01 +0200 |
commit | a63a209d8ee8f21722a3b07d01d904bca5dbbc31 (patch) | |
tree | cbea790945efc23d8e5ec84b3806cff609c25f60 /lib/libmtd_legacy.c | |
parent | 04d76bcda9e1a948070927e6c5357d9760c32367 (diff) |
libmtd: don't print an error message for devices without ecc support
The libmtd library tries to obtain the available OOB size via the sysfs
with a fallback to the ECCGETLAYOUT ioctl. For some devices (e.g. plat-ram),
the fallback path is always taken and prints an error message to stderr
since the ioctl fails.
This patch fixes the fallback path by suppressing the error message if
errno is set to EOPNOTSUPP (i.e. the device simply doesn't support that).
Fixes: a10353584f93 ("libmtd: Add support to access OOB available size")
Reported-by: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Reviewed-by: Xiaolei Li <xiaolei.li@mediatek.com>
Tested-by: Chris Packham <Chris.Packham@alliedtelesis.co.nz>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/libmtd_legacy.c')
-rw-r--r-- | lib/libmtd_legacy.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libmtd_legacy.c b/lib/libmtd_legacy.c index 97fef04..2b7f65f 100644 --- a/lib/libmtd_legacy.c +++ b/lib/libmtd_legacy.c @@ -235,6 +235,8 @@ int legacy_get_mtd_oobavail(const char *node) ret = ioctl(fd, ECCGETLAYOUT, &usrlay); if (ret < 0) { + if (errno == EOPNOTSUPP) + goto out_close; sys_errmsg("ECCGETLAYOUT ioctl request failed"); goto out_close; } |