From 236ecca7dad4b630c048214a98a16613c530a119 Mon Sep 17 00:00:00 2001 From: Michael Lotz Date: Mon, 19 Jan 2009 17:35:56 +0000 Subject: [PATCH] Fix missing mutex_unlock() in case of opening an already removed device. Spotted by Mika Lindqvist, thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28957 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/drivers/disk/usb/usb_disk/usb_disk.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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;