do_command() may fail. The fix adds the missed return value of
do_command(). If it fails, returns its error code.

Signed-off-by: Kangjie Lu <k...@umn.edu>
---
 drivers/media/usb/gspca/cpia1.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/media/usb/gspca/cpia1.c b/drivers/media/usb/gspca/cpia1.c
index 2b09af8865f4..23fbda56fc91 100644
--- a/drivers/media/usb/gspca/cpia1.c
+++ b/drivers/media/usb/gspca/cpia1.c
@@ -547,10 +547,14 @@ static int do_command(struct gspca_dev *gspca_dev, u16 
command,
                }
                if (sd->params.qx3.button) {
                        /* button pressed - unlock the latch */
-                       do_command(gspca_dev, CPIA_COMMAND_WriteMCPort,
+                       ret = do_command(gspca_dev, CPIA_COMMAND_WriteMCPort,
                                   3, 0xdf, 0xdf, 0);
-                       do_command(gspca_dev, CPIA_COMMAND_WriteMCPort,
+                       if (ret)
+                               return ret;
+                       ret = do_command(gspca_dev, CPIA_COMMAND_WriteMCPort,
                                   3, 0xff, 0xff, 0);
+                       if (ret)
+                               return ret;
                }
 
                /* test whether microscope is cradled */
-- 
2.17.2 (Apple Git-113)

Reply via email to