summaryrefslogtreecommitdiffstats
path: root/drivers/usb/misc/iowarrior.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-12 07:37:39 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-08-12 07:37:39 +0200
commite6aa640eb2f68920cb849aec0cab44f05d843238 (patch)
tree42e07ee412112abe90d459f821e8d73c26cc648e /drivers/usb/misc/iowarrior.c
parent1f573cce48a2ebb35953034062ef01056b7d6a58 (diff)
parentd45331b00ddb179e291766617259261c112db872 (diff)
downloadtalos-op-linux-e6aa640eb2f68920cb849aec0cab44f05d843238.tar.gz
talos-op-linux-e6aa640eb2f68920cb849aec0cab44f05d843238.zip
Merge 5.3-rc4 into driver-core-next
We need the driver core fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/misc/iowarrior.c')
-rw-r--r--drivers/usb/misc/iowarrior.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/usb/misc/iowarrior.c b/drivers/usb/misc/iowarrior.c
index ba05dd80a020..f5bed9f29e56 100644
--- a/drivers/usb/misc/iowarrior.c
+++ b/drivers/usb/misc/iowarrior.c
@@ -866,19 +866,20 @@ static void iowarrior_disconnect(struct usb_interface *interface)
dev = usb_get_intfdata(interface);
mutex_lock(&iowarrior_open_disc_lock);
usb_set_intfdata(interface, NULL);
+ /* prevent device read, write and ioctl */
+ dev->present = 0;
minor = dev->minor;
+ mutex_unlock(&iowarrior_open_disc_lock);
+ /* give back our minor - this will call close() locks need to be dropped at this point*/
- /* give back our minor */
usb_deregister_dev(interface, &iowarrior_class);
mutex_lock(&dev->mutex);
/* prevent device read, write and ioctl */
- dev->present = 0;
mutex_unlock(&dev->mutex);
- mutex_unlock(&iowarrior_open_disc_lock);
if (dev->opened) {
/* There is a process that holds a filedescriptor to the device ,
OpenPOWER on IntegriCloud