diff --git a/src/system/kernel/disk_device_manager/KDiskDeviceManager.cpp b/src/system/kernel/disk_device_manager/KDiskDeviceManager.cpp index d738786a0f..3916f1ae24 100644 --- a/src/system/kernel/disk_device_manager/KDiskDeviceManager.cpp +++ b/src/system/kernel/disk_device_manager/KDiskDeviceManager.cpp @@ -697,6 +697,7 @@ KDiskDeviceManager::CreateDevice(const char* path, bool* newlyCreated) // cleanup on error if (error != B_OK) { + deviceLocker.Unlock(); delete device; return error; } @@ -791,6 +792,7 @@ KDiskDeviceManager::CreateFileDevice(const char* filePath, bool* newlyCreated) } // cleanup on failure + deviceLocker.Unlock(); delete device; } else error = B_ERROR;