提交 8e216e50 编写于 作者: M Malcolm Priestley 提交者: Mauro Carvalho Chehab

[media] it913x [BUG] Enable endpoint 3 on devices with HID interface

On some USB controllers when endpoint 3 (used by HID) is not enabled
this causes a USB reset.
Signed-off-by: NMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 68425935
...@@ -659,13 +659,19 @@ static int it913x_frontend_attach(struct dvb_usb_adapter *adap) ...@@ -659,13 +659,19 @@ static int it913x_frontend_attach(struct dvb_usb_adapter *adap)
it913x_wr_reg(d, DEV_0_DMOD, MP2IF2_SW_RST, 0x1); it913x_wr_reg(d, DEV_0_DMOD, MP2IF2_SW_RST, 0x1);
it913x_wr_reg(d, DEV_0, EP0_TX_EN, 0x0f); it913x_wr_reg(d, DEV_0, EP0_TX_EN, 0x0f);
it913x_wr_reg(d, DEV_0, EP0_TX_NAK, 0x1b); it913x_wr_reg(d, DEV_0, EP0_TX_NAK, 0x1b);
it913x_wr_reg(d, DEV_0, EP0_TX_EN, 0x2f); if (st->proprietary_ir == false) /* Enable endpoint 3 */
it913x_wr_reg(d, DEV_0, EP0_TX_EN, 0x3f);
else
it913x_wr_reg(d, DEV_0, EP0_TX_EN, 0x2f);
it913x_wr_reg(d, DEV_0, EP4_TX_LEN_LSB, it913x_wr_reg(d, DEV_0, EP4_TX_LEN_LSB,
ep_size & 0xff); ep_size & 0xff);
it913x_wr_reg(d, DEV_0, EP4_TX_LEN_MSB, ep_size >> 8); it913x_wr_reg(d, DEV_0, EP4_TX_LEN_MSB, ep_size >> 8);
ret = it913x_wr_reg(d, DEV_0, EP4_MAX_PKT, pkt_size); ret = it913x_wr_reg(d, DEV_0, EP4_MAX_PKT, pkt_size);
} else if (adap->id == 1 && adap->fe[0]) { } else if (adap->id == 1 && adap->fe[0]) {
it913x_wr_reg(d, DEV_0, EP0_TX_EN, 0x6f); if (st->proprietary_ir == false)
it913x_wr_reg(d, DEV_0, EP0_TX_EN, 0x7f);
else
it913x_wr_reg(d, DEV_0, EP0_TX_EN, 0x6f);
it913x_wr_reg(d, DEV_0, EP5_TX_LEN_LSB, it913x_wr_reg(d, DEV_0, EP5_TX_LEN_LSB,
ep_size & 0xff); ep_size & 0xff);
it913x_wr_reg(d, DEV_0, EP5_TX_LEN_MSB, ep_size >> 8); it913x_wr_reg(d, DEV_0, EP5_TX_LEN_MSB, ep_size >> 8);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册