diff --git a/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp b/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp index 75f6ce7160..8a56fb3e32 100644 --- a/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp +++ b/src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp @@ -867,8 +867,10 @@ usb_disk_open(const char *name, uint32 flags, void **cookie) device_lun *lun = device->luns[i]; if (strncmp(rawName, lun->name, 32) == 0) { // found the matching device/lun - if (device->removed) + if (device->removed) { + mutex_unlock(&gDeviceListLock); return B_ERROR; + } device->open_count++; *cookie = lun;