[media] digitv: handle error code on RC query
authorMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 7 Oct 2016 16:52:31 +0000 (13:52 -0300)
committerMauro Carvalho Chehab <mchehab@s-opensource.com>
Fri, 14 Oct 2016 15:52:27 +0000 (12:52 -0300)
There's no sense on decoding and generating a RC key code if
there was an error on the URB control message.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
drivers/media/usb/dvb-usb/digitv.c

index 09f8c28bd4db902a81bf61d1dc6ac9ea5ab93665..4284f6984dc1ffe14698b6fcdc42aad8cf69bf32 100644 (file)
@@ -29,7 +29,9 @@ static int digitv_ctrl_msg(struct dvb_usb_device *d,
                u8 cmd, u8 vv, u8 *wbuf, int wlen, u8 *rbuf, int rlen)
 {
        struct digitv_state *st = d->priv;
-       int wo = (rbuf == NULL || rlen == 0); /* write-only */
+       int ret, wo;
+
+       wo = (rbuf == NULL || rlen == 0); /* write-only */
 
        memset(st->sndbuf, 0, 7);
        memset(st->rcvbuf, 0, 7);
@@ -40,12 +42,12 @@ static int digitv_ctrl_msg(struct dvb_usb_device *d,
 
        if (wo) {
                memcpy(&st->sndbuf[3], wbuf, wlen);
-               dvb_usb_generic_write(d, st->sndbuf, 7);
+               ret = dvb_usb_generic_write(d, st->sndbuf, 7);
        } else {
-               dvb_usb_generic_rw(d, st->sndbuf, 7, st->rcvbuf, 7, 10);
+               ret = dvb_usb_generic_rw(d, st->sndbuf, 7, st->rcvbuf, 7, 10);
                memcpy(rbuf, &st->rcvbuf[3], rlen);
        }
-       return 0;
+       return ret;
 }
 
 /* I2C */