diff --git a/kernel.spec b/kernel.spec index 8f23f177e..fc7f52d1b 100644 --- a/kernel.spec +++ b/kernel.spec @@ -617,6 +617,9 @@ Patch845: HID-microsoft-Add-Surface-4-type-cover-pro-4-JP.patch # SELinux OverlayFS support (queued for 4.9) Patch846: security-selinux-overlayfs-support.patch +#rhbz: 1260862 +Patch847: rc-core-fix-repeat-events.patch + # END OF PATCH DEFINITIONS %endif @@ -2153,6 +2156,9 @@ fi # # %changelog +* Mon Aug 29 2016 Laura Abbott +- Add event decoding fix (rhbz 1360688) + * Mon Aug 29 2016 Justin M. Forbes - Reenable debugging options. - Add SELinux OverlayFS support. diff --git a/rc-core-fix-repeat-events.patch b/rc-core-fix-repeat-events.patch new file mode 100644 index 000000000..c7bfce282 --- /dev/null +++ b/rc-core-fix-repeat-events.patch @@ -0,0 +1,46 @@ +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. + +See: http://www.spinics.net/lists/linux-media/msg103384.html + +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"); +-- +2.9.0 +