Rockchip: Do not print out a SYS_ioctl error message at the end of VIDIOC_ENUM_FMT enumeration loop
Do not print out SYS_ioctl error message, when cmd is VIDIOC_ENUM_FMT and
it returns EINVAL.
It would be at the end of enumeration loop. It is not a real error then.
BUG=chromium:742688
TEST=VEA unittest on kevin
Change-Id: I78802f0351fe145107e89b7b296e6b75eae2f350
Reviewed-on: https://chromium-review.googlesource.com/578529
Commit-Ready: Hirokazu Honda <hiroh@chromium.org>
Tested-by: Hirokazu Honda <hiroh@chromium.org>
Reviewed-by: Pawel Osciak <posciak@chromium.org>
diff --git a/libv4l-rockchip/libv4l-encplugin-rockchip.c b/libv4l-rockchip/libv4l-encplugin-rockchip.c
index 24e9683..4767233 100644
--- a/libv4l-rockchip/libv4l-encplugin-rockchip.c
+++ b/libv4l-rockchip/libv4l-encplugin-rockchip.c
@@ -30,7 +30,8 @@
#define SYS_IOCTL(fd, cmd, arg) ({ \
int ret = syscall(SYS_ioctl, (int)(fd), (unsigned long)(cmd), \
(void *)(arg)); \
- if ((ret && errno != EAGAIN) || g_log_level >= 2) \
+ if (g_log_level >= 2 || (ret && errno != EAGAIN && \
+ (cmd != VIDIOC_ENUM_FMT || errno != EINVAL))) \
fprintf(stderr, "SYS_ioctl: %s(%lu): fd=%d, ret=%d, errno=%d\n",\
v4l_cmd2str(cmd), _IOC_NR((unsigned long)cmd), fd, ret, \
errno); \
diff --git a/libv4l-rockchip_v2/libv4l-encplugin-rockchip.c b/libv4l-rockchip_v2/libv4l-encplugin-rockchip.c
index d22ed7d..c0b8d49 100644
--- a/libv4l-rockchip_v2/libv4l-encplugin-rockchip.c
+++ b/libv4l-rockchip_v2/libv4l-encplugin-rockchip.c
@@ -30,7 +30,8 @@
#define SYS_IOCTL(fd, cmd, arg) ({ \
int ret = syscall(SYS_ioctl, (int)(fd), (unsigned long)(cmd), \
(void *)(arg)); \
- if ((ret && errno != EAGAIN) || g_log_level >= 2) \
+ if (g_log_level >= 2 || (ret && errno != EAGAIN && \
+ (cmd != VIDIOC_ENUM_FMT || errno != EINVAL))) \
fprintf(stderr, "SYS_ioctl: %s(%lu): fd=%d, ret=%d, errno=%d\n",\
v4l_cmd2str(cmd), _IOC_NR((unsigned long)cmd), fd, ret, \
errno); \