[PATCH] libmtd: don't print an error message for devices without ecc support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxxx>
Signed-off-by: David Oberhollenzer <david.oberhollenzer@xxxxxxxxxxxxx>
---
 lib/libmtd_legacy.c | 2 ++
 1 file changed, 2 insertions(+)

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;
 	}
-- 
2.17.1


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux