| From 9f5039ba440e499d85c29b1ddbc3cbc9dc90e44b Mon Sep 17 00:00:00 2001 |
| From: Sean Young <sean@mess.org> |
| Date: Fri, 7 Jul 2017 18:49:18 -0300 |
| Subject: media: lirc: LIRC_GET_REC_RESOLUTION should return microseconds |
| |
| From: Sean Young <sean@mess.org> |
| |
| commit 9f5039ba440e499d85c29b1ddbc3cbc9dc90e44b upstream. |
| |
| 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. |
| |
| Reported-by: Derek <user.vdr@gmail.com> |
| Tested-by: Derek <user.vdr@gmail.com> |
| Signed-off-by: Sean Young <sean@mess.org> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| |
| --- |
| drivers/media/rc/ir-lirc-codec.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/media/rc/ir-lirc-codec.c |
| +++ b/drivers/media/rc/ir-lirc-codec.c |
| @@ -254,7 +254,7 @@ static long ir_lirc_ioctl(struct file *f |
| return 0; |
| |
| case LIRC_GET_REC_RESOLUTION: |
| - val = dev->rx_resolution; |
| + val = dev->rx_resolution / 1000; |
| break; |
| |
| case LIRC_SET_WIDEBAND_RECEIVER: |