| From e1def45b5291278590bc3033cc518bf5c964a18d Mon Sep 17 00:00:00 2001 |
| From: Matthias Reichl <hias@horus.com> |
| Date: Sat, 9 Jan 2021 21:10:55 +0100 |
| Subject: media: rc: ite-cir: fix min_timeout calculation |
| |
| From: Matthias Reichl <hias@horus.com> |
| |
| commit e1def45b5291278590bc3033cc518bf5c964a18d upstream. |
| |
| Commit 528222d853f92 ("media: rc: harmonize infrared durations to |
| microseconds") missed to switch the min_timeout calculation from ns |
| to us. This resulted in a minimum timeout of 1.2 seconds instead of 1.2ms, |
| leading to large delays and long key repeats. |
| |
| Fix this by applying proper ns->us conversion. |
| |
| Cc: stable@vger.kernel.org |
| Fixes: 528222d853f92 ("media: rc: harmonize infrared durations to microseconds") |
| Signed-off-by: Matthias Reichl <hias@horus.com> |
| Signed-off-by: Sean Young <sean@mess.org> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/media/rc/ite-cir.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/media/rc/ite-cir.c |
| +++ b/drivers/media/rc/ite-cir.c |
| @@ -1551,7 +1551,7 @@ static int ite_probe(struct pnp_dev *pde |
| rdev->s_rx_carrier_range = ite_set_rx_carrier_range; |
| /* FIFO threshold is 17 bytes, so 17 * 8 samples minimum */ |
| rdev->min_timeout = 17 * 8 * ITE_BAUDRATE_DIVISOR * |
| - itdev->params.sample_period; |
| + itdev->params.sample_period / 1000; |
| rdev->timeout = IR_DEFAULT_TIMEOUT; |
| rdev->max_timeout = 10 * IR_DEFAULT_TIMEOUT; |
| rdev->rx_resolution = ITE_BAUDRATE_DIVISOR * |