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 <mche...@s-opensource.com>
---
 drivers/media/usb/dvb-usb/digitv.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/media/usb/dvb-usb/digitv.c 
b/drivers/media/usb/dvb-usb/digitv.c
index 09f8c28bd4db..4284f6984dc1 100644
--- a/drivers/media/usb/dvb-usb/digitv.c
+++ b/drivers/media/usb/dvb-usb/digitv.c
@@ -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 */
-- 
2.7.4


--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to