Takashi Iwai 646cf8
From 3c28b91380dd1183347d32d87d820818031ebecf Mon Sep 17 00:00:00 2001
Takashi Iwai 646cf8
From: Andreas Pape <ap@ca-pape.de>
Takashi Iwai 646cf8
Date: Fri, 23 Nov 2018 11:14:54 -0500
Takashi Iwai 646cf8
Subject: [PATCH] media: stkwebcam: Bugfix for wrong return values
Takashi Iwai 646cf8
Git-commit: 3c28b91380dd1183347d32d87d820818031ebecf
Takashi Iwai 646cf8
Patch-mainline: v5.0-rc1
Takashi Iwai 646cf8
References: bsc#1051510
Takashi Iwai 646cf8
Takashi Iwai 646cf8
usb_control_msg returns in case of a successfully sent message the number
Takashi Iwai 646cf8
of sent bytes as a positive number. Don't use this value as a return value
Takashi Iwai 646cf8
for stk_camera_read_reg, as a non-zero return value is used as an error
Takashi Iwai 646cf8
condition in some cases when stk_camera_read_reg is called.
Takashi Iwai 646cf8
Takashi Iwai 646cf8
Signed-off-by: Andreas Pape <ap@ca-pape.de>
Takashi Iwai 646cf8
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Takashi Iwai 646cf8
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Takashi Iwai 646cf8
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 646cf8
Takashi Iwai 646cf8
---
Takashi Iwai 646cf8
 drivers/media/usb/stkwebcam/stk-webcam.c | 6 +++++-
Takashi Iwai 646cf8
 1 file changed, 5 insertions(+), 1 deletion(-)
Takashi Iwai 646cf8
Takashi Iwai 646cf8
diff --git a/drivers/media/usb/stkwebcam/stk-webcam.c b/drivers/media/usb/stkwebcam/stk-webcam.c
Takashi Iwai 646cf8
index e61427e50525..b8ec74d98e8d 100644
Takashi Iwai 646cf8
--- a/drivers/media/usb/stkwebcam/stk-webcam.c
Takashi Iwai 646cf8
+++ b/drivers/media/usb/stkwebcam/stk-webcam.c
Takashi Iwai 646cf8
@@ -171,7 +171,11 @@ int stk_camera_read_reg(struct stk_camera *dev, u16 index, u8 *value)
Takashi Iwai 646cf8
 		*value = *buf;
Takashi Iwai 646cf8
 
Takashi Iwai 646cf8
 	kfree(buf);
Takashi Iwai 646cf8
-	return ret;
Takashi Iwai 646cf8
+
Takashi Iwai 646cf8
+	if (ret < 0)
Takashi Iwai 646cf8
+		return ret;
Takashi Iwai 646cf8
+	else
Takashi Iwai 646cf8
+		return 0;
Takashi Iwai 646cf8
 }
Takashi Iwai 646cf8
 
Takashi Iwai 646cf8
 static int stk_start_stream(struct stk_camera *dev)
Takashi Iwai 646cf8
-- 
Takashi Iwai 646cf8
2.16.4
Takashi Iwai 646cf8