From: Hans Verkuil <hverkuil@xs4all.nl>
Date: Wed, 21 Jan 2009 20:06:42 +0000 (-0300)
Subject: V4L/DVB (10291): em28xx: fix VIDIOC_G_CTRL when there is no msp34xx device.
X-Git-Tag: firefly_0821_release~15196^2~672
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=07f7db4ce7b29d431553b426e0dcb720c5297a4b;p=firefly-linux-kernel-4.4.55.git

V4L/DVB (10291): em28xx: fix VIDIOC_G_CTRL when there is no msp34xx device.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
---

diff --git a/drivers/media/video/em28xx/em28xx-video.c b/drivers/media/video/em28xx/em28xx-video.c
index 8e61b2ca9167..d8b45b5ee041 100644
--- a/drivers/media/video/em28xx/em28xx-video.c
+++ b/drivers/media/video/em28xx/em28xx-video.c
@@ -1008,8 +1008,13 @@ static int vidioc_g_ctrl(struct file *file, void *priv,
 
 	if (dev->board.has_msp34xx)
 		em28xx_i2c_call_clients(dev, VIDIOC_G_CTRL, ctrl);
-	else
+	else {
 		rc = em28xx_get_ctrl(dev, ctrl);
+		if (rc < 0) {
+			em28xx_i2c_call_clients(dev, VIDIOC_G_CTRL, ctrl);
+			rc = 0;
+		}
+	}
 
 	mutex_unlock(&dev->lock);
 	return rc;