summaryrefslogtreecommitdiff
path: root/drivers/staging/comedi/drivers/ni_usb6501.c
diff options
context:
space:
mode:
authorIan Abbott <abbotti@mev.co.uk>2019-04-17 16:32:49 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-04-19 14:59:37 +0200
commit6e1167444c7dd3491739618c6b0481587ac5bdb1 (patch)
treeab3d879cfe6e320366d6d10656b0bcdaf7ae12d7 /drivers/staging/comedi/drivers/ni_usb6501.c
parent3c03c470f476957d318ea49b7eeb9bcf3cb8b1e9 (diff)
staging: comedi: ni_usb6501: Call mutex_destroy() on private mutex
`ni6501_detach()` is the Comedi "detach" handler for the ni_usb6501 driver. It is called when the private data for the device is about to be freed. The private data contains a mutex `devpriv->mut` that was initialized when the private data was allocated. Call `mutex_destroy()` to mark it as invalid. Also remove the calls to `mutex_lock()` and `mutex_unlock()` from `ni6501_detach()`. The only other locks of the mutex are by some of the Comedi instruction handlers that cannot contend with the "detach" handler for this mutex. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/comedi/drivers/ni_usb6501.c')
-rw-r--r--drivers/staging/comedi/drivers/ni_usb6501.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/staging/comedi/drivers/ni_usb6501.c b/drivers/staging/comedi/drivers/ni_usb6501.c
index 808ed92ed66f..0e38f69aa8b6 100644
--- a/drivers/staging/comedi/drivers/ni_usb6501.c
+++ b/drivers/staging/comedi/drivers/ni_usb6501.c
@@ -564,14 +564,12 @@ static void ni6501_detach(struct comedi_device *dev)
if (!devpriv)
return;
- mutex_lock(&devpriv->mut);
+ mutex_destroy(&devpriv->mut);
usb_set_intfdata(intf, NULL);
kfree(devpriv->usb_rx_buf);
kfree(devpriv->usb_tx_buf);
-
- mutex_unlock(&devpriv->mut);
}
static struct comedi_driver ni6501_driver = {