On Tue Sep 1 11:29:02 2026 +0100, Sean Young wrote:
> The timer can be re-armed from the irq, so ensure that the timers are
> deleted after the irq and that we only free the rc device once we are
> sure that the irq has been silenced.
> 
> Fixes: dccc0c3ddf8f ("media: rc: fix race between unregister and urb/irq 
> callbacks")
> Cc: [email protected]
> Signed-off-by: Sean Young <[email protected]>
> Acked-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Sean Young

 drivers/media/rc/ene_ir.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

---

diff --git a/drivers/media/rc/ene_ir.c b/drivers/media/rc/ene_ir.c
index 6f7dccc965e7..f98d76277b62 100644
--- a/drivers/media/rc/ene_ir.c
+++ b/drivers/media/rc/ene_ir.c
@@ -1103,15 +1103,15 @@ static void ene_remove(struct pnp_dev *pnp_dev)
        unsigned long flags;
 
        rc_unregister_device(dev->rdev);
-       timer_delete_sync(&dev->tx_sim_timer);
        spin_lock_irqsave(&dev->hw_lock, flags);
        ene_rx_disable(dev);
        ene_rx_restore_hw_buffer(dev);
        spin_unlock_irqrestore(&dev->hw_lock, flags);
 
-       rc_free_device(dev->rdev);
        free_irq(dev->irq, dev);
+       timer_delete_sync(&dev->tx_sim_timer);
        release_region(dev->hw_io, ENE_IO_SIZE);
+       rc_free_device(dev->rdev);
        kfree(dev);
 }
 
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to