summaryrefslogtreecommitdiff
path: root/src/v4l2subdev.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2014-03-10 19:49:22 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2014-03-10 19:53:54 +0100
commit45033a900fb0d004b9790f7b9d57045ea7510cd3 (patch)
treeb2e56cc633c39dd17babc79d58ec50883583f0fe /src/v4l2subdev.c
parent87f58c2ed885d636229f7209fde883058433a1ce (diff)
Read errno before media_dbg calls
The media_dbg() in error paths can modify the errno value, leading to the wrong error (or no error at all) being returned. Fix this by reading the errno value before calling media_dbg(). Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/v4l2subdev.c')
-rw-r--r--src/v4l2subdev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/v4l2subdev.c b/src/v4l2subdev.c
index 2d45d7f..efc6708 100644
--- a/src/v4l2subdev.c
+++ b/src/v4l2subdev.c
@@ -45,10 +45,11 @@ int v4l2_subdev_open(struct media_entity *entity)
entity->fd = open(entity->devname, O_RDWR);
if (entity->fd == -1) {
+ int ret = -errno;
media_dbg(entity->media,
"%s: Failed to open subdev device node %s\n", __func__,
entity->devname);
- return -errno;
+ return ret;
}
return 0;