37 lines
1.4 KiB
Diff
37 lines
1.4 KiB
Diff
From: Sean Young <sean@mess.org>
|
|
Date: Mon, 13 Aug 2012 08:59:45 -0300
|
|
Subject: [08/11] [media] iguanair: fix receiver overflow
|
|
|
|
commit 640583836b9488c806349e3839c9d8b0f15da1fa upstream.
|
|
|
|
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 | 5 ++---
|
|
1 file changed, 2 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/drivers/media/rc/iguanair.c b/drivers/media/rc/iguanair.c
|
|
index 9810008..6a09c2e 100644
|
|
--- a/drivers/media/rc/iguanair.c
|
|
+++ b/drivers/media/rc/iguanair.c
|
|
@@ -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;
|
|
|