From cfb9e18bc09d70e46ea8be34510729c005ec6906 Mon Sep 17 00:00:00 2001 From: Hirokazu Honda <hiroh@chromium.org> Date: Wed, 19 Jul 2017 17:54:08 +0900 Subject: [PATCH] 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> --- libv4l-rockchip/libv4l-encplugin-rockchip.c | 3 ++- libv4l-rockchip_v2/libv4l-encplugin-rockchip.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) 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); \ -- GitLab