Commit 04cab131 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB: rc-core: increase repeat time

As reported by Anton Blanchard <anton@samba.org>, double IR events on
2.6.36-rc2 and a DViCO FusionHDTV DVB-T Dual Express are happening:

[ 1351.032084] ir_keydown: i2c IR (FusionHDTV): key down event, key 0x0067, scancode 0x0051
[ 1351.281284] ir_keyup: keyup key 0x0067

ie one key down event and one key up event 250ms later.

So, we need to increase the repeat timeout, to avoid this bug to hit.

As we're doing it at core, this fix is not needed anymore at dib0700 driver.

Thanks-to: Anton Blanchard <anton@samba.org>
Cc: stable@kernel.org
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 3bfb317f
...@@ -510,6 +510,13 @@ int __ir_input_register(struct input_dev *input_dev, ...@@ -510,6 +510,13 @@ int __ir_input_register(struct input_dev *input_dev,
(ir_dev->props && ir_dev->props->driver_type == RC_DRIVER_IR_RAW) ? (ir_dev->props && ir_dev->props->driver_type == RC_DRIVER_IR_RAW) ?
" in raw mode" : ""); " in raw mode" : "");
/*
* Default delay of 250ms is too short for some protocols, expecially
* since the timeout is currently set to 250ms. Increase it to 500ms,
* to avoid wrong repetition of the keycodes.
*/
input_dev->rep[REP_DELAY] = 500;
return 0; return 0;
out_event: out_event:
......
...@@ -673,9 +673,6 @@ static int dib0700_probe(struct usb_interface *intf, ...@@ -673,9 +673,6 @@ static int dib0700_probe(struct usb_interface *intf,
else else
dev->props.rc.core.bulk_mode = false; dev->props.rc.core.bulk_mode = false;
/* Need a higher delay, to avoid wrong repeat */
dev->rc_input_dev->rep[REP_DELAY] = 500;
dib0700_rc_setup(dev); dib0700_rc_setup(dev);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment