diff --git a/packages/linux/patches/default/linux-999.LIRC_GET_REC_RESOLUTION_should_return_microseconds.patch b/packages/linux/patches/default/linux-999.LIRC_GET_REC_RESOLUTION_should_return_microseconds.patch new file mode 100644 index 0000000000..760994f606 --- /dev/null +++ b/packages/linux/patches/default/linux-999.LIRC_GET_REC_RESOLUTION_should_return_microseconds.patch @@ -0,0 +1,33 @@ +From 29b67f9aaa06adae4db23b775fa92b0e376a36a3 Mon Sep 17 00:00:00 2001 +From: Sean Young +Date: Fri, 7 Jul 2017 18:49:18 -0300 +Subject: media: lirc: LIRC_GET_REC_RESOLUTION should return microseconds + +Since commit e8f4818895b3 ("[media] lirc: advertise +LIRC_CAN_GET_REC_RESOLUTION and improve") lircd uses the ioctl +LIRC_GET_REC_RESOLUTION to determine the shortest pulse or space that +the hardware can detect. This breaks decoding in lirc because lircd +expects the answer in microseconds, but nanoseconds is returned. + +Cc: # v2.6.36+ +Reported-by: Derek +Tested-by: Derek +Signed-off-by: Sean Young +Signed-off-by: Mauro Carvalho Chehab + +diff --git a/drivers/media/rc/ir-lirc-codec.c b/drivers/media/rc/ir-lirc-codec.c +index a30af91..d2223c0 100644 +--- a/drivers/media/rc/ir-lirc-codec.c ++++ b/drivers/media/rc/ir-lirc-codec.c +@@ -266,7 +266,7 @@ static long ir_lirc_ioctl(struct file *filep, unsigned int cmd, + if (!dev->rx_resolution) + return -ENOTTY; + +- val = dev->rx_resolution; ++ val = dev->rx_resolution / 1000; + break; + + case LIRC_SET_WIDEBAND_RECEIVER: +-- +cgit v0.10.2 +