diff options
| author | Ian Abbott <abbotti@mev.co.uk> | 2025-04-15 13:39:01 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-05-02 07:51:03 +0200 |
| commit | ffe79cc6c71dde5165c6010ab7f7dad635df5b66 (patch) | |
| tree | 1e90e63e15e87d96d9e02ac5dbe6e6f96a65126e /drivers/comedi | |
| parent | c4312c4d244aa58e811ff0297e013124d115e793 (diff) | |
| download | linux-ffe79cc6c71dde5165c6010ab7f7dad635df5b66.tar.gz linux-ffe79cc6c71dde5165c6010ab7f7dad635df5b66.tar.bz2 linux-ffe79cc6c71dde5165c6010ab7f7dad635df5b66.zip | |
comedi: jr3_pci: Fix synchronous deletion of timer
commit 44d9b3f584c59a606b521e7274e658d5b866c699 upstream.
When `jr3_pci_detach()` is called during device removal, it calls
`timer_delete_sync()` to stop the timer, but the timer expiry function
always reschedules the timer, so the synchronization is ineffective.
Call `timer_shutdown_sync()` instead. It does not matter that the timer
expiry function pointer is cleared, because the device is being removed.
Fixes: 07b509e6584a5 ("Staging: comedi: add jr3_pci driver")
Cc: stable <stable@kernel.org>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Link: https://lore.kernel.org/r/20250415123901.13483-1-abbotti@mev.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/comedi')
| -rw-r--r-- | drivers/comedi/drivers/jr3_pci.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/comedi/drivers/jr3_pci.c b/drivers/comedi/drivers/jr3_pci.c index 951c23fa0369..75dce1ff2419 100644 --- a/drivers/comedi/drivers/jr3_pci.c +++ b/drivers/comedi/drivers/jr3_pci.c @@ -758,7 +758,7 @@ static void jr3_pci_detach(struct comedi_device *dev) struct jr3_pci_dev_private *devpriv = dev->private; if (devpriv) - del_timer_sync(&devpriv->timer); + timer_shutdown_sync(&devpriv->timer); comedi_pci_detach(dev); } |
