media: rc: After rc_unregister_device() timers can be re-armed

If rc_keydown() is called after rc_register_device(), then the timers
can be re-armed. Delete them again for a final time.

Fixes: dccc0c3ddf ("media: rc: fix race between unregister and urb/irq callbacks")
Signed-off-by: Sean Young <sean@mess.org>
Cc: stable@vger.kernel.org
Acked-by: Hans Verkuil <hverkuil+cisco@kernel.org>
This commit is contained in:
Sean Young 2026-09-04 14:07:44 +01:00
parent d74ac4016b
commit ef41a67979

View File

@ -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);