[media] iguanair: fix receiver overflow
authorSean Young <sean@mess.org>
Mon, 13 Aug 2012 11:59:45 +0000 (08:59 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 13 Aug 2012 19:19:10 +0000 (16:19 -0300)
The Pioneer CU-700 remote causes receiver overflows if you hold down any
button. The remote does not send NEC IR repeats, it repeats the entire
NEC code after 20ms.

The iguanair hardware advertises an interval of 10 which just not enough;
with 100 URBs per second and at most 7 edges per URB, we handle at most
700 edges per second. The remote generates about 900.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/rc/iguanair.c

index 9810008b41d47c48f52120d23363e2127b0671fc..6a09c2e53753c8320c294c5a644bea88ab1d5761 100644 (file)
@@ -484,9 +484,8 @@ static int __devinit iguanair_probe(struct usb_interface *intf,
        init_completion(&ir->completion);
 
        pipein = usb_rcvintpipe(udev, idesc->endpoint[0].desc.bEndpointAddress);
-       usb_fill_int_urb(ir->urb_in, udev, pipein, ir->buf_in,
-               MAX_PACKET_SIZE, iguanair_rx, ir,
-               idesc->endpoint[0].desc.bInterval);
+       usb_fill_int_urb(ir->urb_in, udev, pipein, ir->buf_in, MAX_PACKET_SIZE,
+                                                        iguanair_rx, ir, 1);
        ir->urb_in->transfer_dma = ir->dma_in;
        ir->urb_in->transfer_flags |= URB_NO_TRANSFER_DMA_MAP;