aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/rc/lirc_dev.c
diff options
context:
space:
mode:
authorSean Young <sean@mess.org>2018-02-12 09:00:28 -0500
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2018-02-14 14:17:21 -0500
commit29422737017b866d4a51014cc7522fa3a99e8852 (patch)
treea9d752840ca4b4fc092b82386d9aac3454ce7d86 /drivers/media/rc/lirc_dev.c
parentmedia: rc: remove useless if statement (diff)
downloadlinux-dev-29422737017b866d4a51014cc7522fa3a99e8852.tar.xz
linux-dev-29422737017b866d4a51014cc7522fa3a99e8852.zip
media: rc: get start time just before calling driver tx
The current code gets the start time before copying the IR from userspace (could cause page faults) and encoding IR. This means that the gap calculation could be off. Signed-off-by: Sean Young <sean@mess.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Diffstat (limited to 'drivers/media/rc/lirc_dev.c')
-rw-r--r--drivers/media/rc/lirc_dev.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/rc/lirc_dev.c b/drivers/media/rc/lirc_dev.c
index fd3860d50034..da3b5c095a59 100644
--- a/drivers/media/rc/lirc_dev.c
+++ b/drivers/media/rc/lirc_dev.c
@@ -249,8 +249,6 @@ static ssize_t ir_lirc_transmit_ir(struct file *file, const char __user *buf,
goto out_unlock;
}
- start = ktime_get();
-
if (!dev->tx_ir) {
ret = -EINVAL;
goto out_unlock;
@@ -343,6 +341,8 @@ static ssize_t ir_lirc_transmit_ir(struct file *file, const char __user *buf,
duration += txbuf[i];
}
+ start = ktime_get();
+
ret = dev->tx_ir(dev, txbuf, count);
if (ret < 0)
goto out_kfree;