From 66e1f950d9505d1527041f4ecbc58a9ae47b0e32 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Sat, 30 Jul 2016 19:40:55 +0100 Subject: [PATCH] linux: Fix IR autorepeat --- ...inux-999-partly-revert-media-rc-core.patch | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 packages/linux/patches/4.7/linux-999-partly-revert-media-rc-core.patch diff --git a/packages/linux/patches/4.7/linux-999-partly-revert-media-rc-core.patch b/packages/linux/patches/4.7/linux-999-partly-revert-media-rc-core.patch new file mode 100644 index 0000000000..f56c27fe14 --- /dev/null +++ b/packages/linux/patches/4.7/linux-999-partly-revert-media-rc-core.patch @@ -0,0 +1,42 @@ +From patchwork Sat Jul 30 13:19:27 2016 +From: Ole Ernst +Date: Sat, 30 Jul 2016 15:19:27 +0200 +Subject: Partly revert "[media] rc-core: allow calling rc_open with device not initialized" + +This partly reverts commit 078600f514a12fd763ac84c86af68ef5b5267563. + +Due to the relocation of input_register_device() call, holding down a +button on an IR remote no longer resulted in repeated key down events. + +Signed-off-by: Ole Ernst +--- + drivers/media/rc/rc-main.c | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c +index 8e7f292..26fd63b 100644 +--- a/drivers/media/rc/rc-main.c ++++ b/drivers/media/rc/rc-main.c +@@ -1460,6 +1460,10 @@ int rc_register_device(struct rc_dev *dev) + dev->input_dev->phys = dev->input_phys; + dev->input_dev->name = dev->input_name; + ++ rc = input_register_device(dev->input_dev); ++ if (rc) ++ goto out_table; ++ + /* + * Default delay of 250ms is too short for some protocols, especially + * since the timeout is currently set to 250ms. Increase it to 500ms, +@@ -1475,11 +1479,6 @@ int rc_register_device(struct rc_dev *dev) + */ + dev->input_dev->rep[REP_PERIOD] = 125; + +- /* rc_open will be called here */ +- rc = input_register_device(dev->input_dev); +- if (rc) +- goto out_table; +- + path = kobject_get_path(&dev->dev.kobj, GFP_KERNEL); + dev_info(&dev->dev, "%s as %s\n", + dev->input_name ?: "Unspecified device", path ?: "N/A");