|
@@ -356,13 +356,16 @@ void roccat_disconnect(int minor)
|
|
|
|
|
|
mutex_lock(&devices_lock);
|
|
|
device = devices[minor];
|
|
|
- devices[minor] = NULL;
|
|
|
mutex_unlock(&devices_lock);
|
|
|
|
|
|
device->exist = 0; /* TODO exist maybe not needed */
|
|
|
|
|
|
device_destroy(device->dev->class, MKDEV(roccat_major, minor));
|
|
|
|
|
|
+ mutex_lock(&devices_lock);
|
|
|
+ devices[minor] = NULL;
|
|
|
+ mutex_unlock(&devices_lock);
|
|
|
+
|
|
|
if (device->open) {
|
|
|
hid_hw_close(device->hid);
|
|
|
wake_up_interruptible(&device->wait);
|