summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorErik Andren <erik.andren@gmail.com>2008-10-16 21:36:35 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2008-10-17 22:39:22 +0200
commit588dbbb520e454260fa6bd283ac77fe4678c1c38 (patch)
treed9ddcba19eded627ee43a4a772473238554a3cc0 /drivers/media
parentV4L/DVB (9276): videobuf-dvb: two functions are now static (diff)
downloadlinux-588dbbb520e454260fa6bd283ac77fe4678c1c38.tar.xz
linux-588dbbb520e454260fa6bd283ac77fe4678c1c38.zip
V4L/DVB (9277): gspca: propagate an error in m5602_start_transfer()
Signed-off-by: Erik Andren <erik.andren@gmail.com> Signed-off-by: Jean-Francois Moine <moinejf@free.fr> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r--drivers/media/video/gspca/m5602/m5602_core.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/media/video/gspca/m5602/m5602_core.c b/drivers/media/video/gspca/m5602/m5602_core.c
index 19d5e351ccc1..a7021fcec2bf 100644
--- a/drivers/media/video/gspca/m5602/m5602_core.c
+++ b/drivers/media/video/gspca/m5602/m5602_core.c
@@ -146,16 +146,18 @@ static int m5602_start_transfer(struct gspca_dev *gspca_dev)
{
struct sd *sd = (struct sd *) gspca_dev;
__u8 *buf = sd->gspca_dev.usb_buf;
+ int err;
/* Send start command to the camera */
const u8 buffer[4] = {0x13, 0xf9, 0x0f, 0x01};
memcpy(buf, buffer, sizeof(buffer));
- usb_control_msg(gspca_dev->dev, usb_sndctrlpipe(gspca_dev->dev, 0),
- 0x04, 0x40, 0x19, 0x0000, buf,
- 4, M5602_URB_MSG_TIMEOUT);
+ err = usb_control_msg(gspca_dev->dev,
+ usb_sndctrlpipe(gspca_dev->dev, 0),
+ 0x04, 0x40, 0x19, 0x0000, buf,
+ 4, M5602_URB_MSG_TIMEOUT);
PDEBUG(DBG_V4L2, "Transfer started");
- return 0;
+ return (err < 0) ? err : 0;
}
static void m5602_urb_complete(struct gspca_dev *gspca_dev,