[PATCH v3 16/17] media: rc: After rc_unregister_device() timers can be re-armed
From: Sean Young
Date: Fri Sep 04 2026 - 09:24:27 EST
If rc_keydown() is called after rc_register_device(), then the timers
can be re-armed. Delete them again for a final time.
Fixes: dccc0c3ddf8f ("media: rc: fix race between unregister and urb/irq callbacks")
Signed-off-by: Sean Young <sean@xxxxxxxx>
Cc: stable@xxxxxxxxxxxxxxx
---
drivers/media/rc/rc-main.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
index 795ac0fe4858..a40d1bb75822 100644
--- a/drivers/media/rc/rc-main.c
+++ b/drivers/media/rc/rc-main.c
@@ -1785,6 +1785,11 @@ void rc_free_device(struct rc_dev *dev)
if (!dev)
return;
+ if (dev->input_dev) {
+ timer_delete_sync(&dev->timer_keyup);
+ timer_delete_sync(&dev->timer_repeat);
+ }
+
input_put_device(dev->input_dev);
put_device(&dev->dev);
--
2.55.0