summaryrefslogtreecommitdiff
path: root/drivers/media/usb/au0828/au0828-input.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <m.chehab@samsung.com>2014-08-10 04:47:07 +0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-08-22 00:25:06 +0400
commite9018af0b8897b02dc8e83e6cd75391afcadf894 (patch)
tree00beec06a81f9244d739151ac8aeb013accf0352 /drivers/media/usb/au0828/au0828-input.c
parent2e0cc7ee75a218ad43b112164e87acb03f0fd9f0 (diff)
downloadlinux-e9018af0b8897b02dc8e83e6cd75391afcadf894.tar.xz
[media] au0828: avoid race conditions at RC stop
As the RC kthread can re-enable IR int, we should first cancel the kthread and then disable IR int. While here, remove a temporary debug printk. Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/usb/au0828/au0828-input.c')
-rw-r--r--drivers/media/usb/au0828/au0828-input.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/usb/au0828/au0828-input.c b/drivers/media/usb/au0828/au0828-input.c
index f0c5672e5f56..47ef07a693af 100644
--- a/drivers/media/usb/au0828/au0828-input.c
+++ b/drivers/media/usb/au0828/au0828-input.c
@@ -253,10 +253,10 @@ static void au0828_rc_stop(struct rc_dev *rc)
{
struct au0828_rc *ir = rc->priv;
+ cancel_delayed_work_sync(&ir->work);
+
/* Disable IR */
au8522_rc_clear(ir, 0xe0, 1 << 4);
-
- cancel_delayed_work_sync(&ir->work);
}
static int au0828_probe_i2c_ir(struct au0828_dev *dev)