“818615c4cde2a71a5857007b134cce89d506cc3f”上不存在“kernel/rcu/tiny.c”
提交 3dadf91c 编写于 作者: M Mauro Carvalho Chehab

[media] digitv: handle error code on RC query

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: NMauro Carvalho Chehab <mchehab@s-opensource.com>
上级 aa9efbc7
...@@ -29,7 +29,9 @@ static int digitv_ctrl_msg(struct dvb_usb_device *d, ...@@ -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) u8 cmd, u8 vv, u8 *wbuf, int wlen, u8 *rbuf, int rlen)
{ {
struct digitv_state *st = d->priv; 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->sndbuf, 0, 7);
memset(st->rcvbuf, 0, 7); memset(st->rcvbuf, 0, 7);
...@@ -40,12 +42,12 @@ static int digitv_ctrl_msg(struct dvb_usb_device *d, ...@@ -40,12 +42,12 @@ static int digitv_ctrl_msg(struct dvb_usb_device *d,
if (wo) { if (wo) {
memcpy(&st->sndbuf[3], wbuf, wlen); memcpy(&st->sndbuf[3], wbuf, wlen);
dvb_usb_generic_write(d, st->sndbuf, 7); ret = dvb_usb_generic_write(d, st->sndbuf, 7);
} else { } 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); memcpy(rbuf, &st->rcvbuf[3], rlen);
} }
return 0; return ret;
} }
/* I2C */ /* I2C */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册