[media] it913x: fix correct endpoint size when pid filter on
authorMalcolm Priestley <tvboxspy@gmail.com>
Thu, 8 Nov 2012 20:30:21 +0000 (17:30 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Sun, 23 Dec 2012 21:48:04 +0000 (19:48 -0200)
I kept the count as the hardware default with dvb-usb-v2, with 5, users
can still run in to trouble with Video PIDs.
I have traced it to an incorrect endpoint size when the PID filter
is enabled. It also affected USB 2.0 with the filter on.

Reported-by: Antti Palosaari <crope@iki.fi>
Tested-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/usb/dvb-usb-v2/it913x.c

index 47204280b8b3d1f5b557417a27d32430bccb2c21..fbc0a84465eb9f80f839c188b32020372b14e18d 100644 (file)
@@ -643,7 +643,8 @@ static int it913x_frontend_attach(struct dvb_usb_adapter *adap)
        struct it913x_state *st = d->priv;
        int ret = 0;
        u8 adap_addr = I2C_BASE_ADDR + (adap->id << 5);
-       u16 ep_size = adap->stream.buf_size / 4;
+       u16 ep_size = (adap->pid_filtering) ? TS_BUFFER_SIZE_PID / 4 :
+               TS_BUFFER_SIZE_MAX / 4;
        u8 pkt_size = 0x80;
 
        if (d->udev->speed != USB_SPEED_HIGH)