media: stkwebcam: Bugfix for wrong return values
authorAndreas Pape <ap@ca-pape.de>
Fri, 23 Nov 2018 16:14:54 +0000 (11:14 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 21 Dec 2019 09:41:26 +0000 (10:41 +0100)
[ Upstream commit 3c28b91380dd1183347d32d87d820818031ebecf ]

usb_control_msg returns in case of a successfully sent message the number
of sent bytes as a positive number. Don't use this value as a return value
for stk_camera_read_reg, as a non-zero return value is used as an error
condition in some cases when stk_camera_read_reg is called.

Signed-off-by: Andreas Pape <ap@ca-pape.de>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/usb/stkwebcam/stk-webcam.c

index 7297fd261df947044cb443b8ab626c4ed8c2f774..f9844f87467b467e5c2e49a442db336c63fab8c7 100644 (file)
@@ -166,7 +166,11 @@ int stk_camera_read_reg(struct stk_camera *dev, u16 index, u8 *value)
                *value = *buf;
 
        kfree(buf);
-       return ret;
+
+       if (ret < 0)
+               return ret;
+       else
+               return 0;
 }
 
 static int stk_start_stream(struct stk_camera *dev)