summaryrefslogtreecommitdiff
path: root/drivers/comedi
diff options
context:
space:
mode:
authorIan Abbott <abbotti@mev.co.uk>2025-04-15 13:39:01 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-05-02 07:59:30 +0200
commit9f609f04c2a10672e47bf911bd0727f7009a0b1e (patch)
tree919514cfded7b6b187ac113f573bb1bef37a87eb /drivers/comedi
parent33e131a10459d16f181c8184d3f17f1c318c7002 (diff)
downloadlinux-9f609f04c2a10672e47bf911bd0727f7009a0b1e.tar.gz
linux-9f609f04c2a10672e47bf911bd0727f7009a0b1e.tar.bz2
linux-9f609f04c2a10672e47bf911bd0727f7009a0b1e.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.c2
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);
}