From 7c2c18202ce0c0f8f05a4d72999899fdc3fe9de3 Mon Sep 17 00:00:00 2001 From: Ian Abbott Date: Wed, 17 Apr 2019 16:16:11 +0100 Subject: [PATCH] staging: comedi: dt9812: Call mutex_destroy() on private mutex `dt9812_detach()` is the Comedi "detach" handler for the dt9812 driver. When it is called, 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 `dt9812_detach()` as the mutex is only being used around a call to `usb_set_intfdata()` to clear the USB interface's driver data pointer. The mutex lock seems redundant here, especially as it is about to be destroyed. Signed-off-by: Ian Abbott Signed-off-by: Greg Kroah-Hartman --- drivers/staging/comedi/drivers/dt9812.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/drivers/staging/comedi/drivers/dt9812.c b/drivers/staging/comedi/drivers/dt9812.c index 9f165f1..634f577 100644 --- a/drivers/staging/comedi/drivers/dt9812.c +++ b/drivers/staging/comedi/drivers/dt9812.c @@ -835,11 +835,8 @@ static void dt9812_detach(struct comedi_device *dev) if (!devpriv) return; - mutex_lock(&devpriv->mut); - + mutex_destroy(&devpriv->mut); usb_set_intfdata(intf, NULL); - - mutex_unlock(&devpriv->mut); } static struct comedi_driver dt9812_driver = { -- 2.7.4