From 9f7fb0e5c9094fb1a0ac980f020d4e19cd7a680c Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Thu, 18 Apr 2019 14:06:46 -0400 Subject: [PATCH] EHCI: Destroy the cleanup semaphore on teardown. Otherwise, the wait_for_thread() of the fCleanupThread will block forever, stalling the boot process. Fixes another part of #15004. --- src/add-ons/kernel/busses/usb/ehci.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/add-ons/kernel/busses/usb/ehci.cpp b/src/add-ons/kernel/busses/usb/ehci.cpp index cec3fbb957..f1164e0245 100644 --- a/src/add-ons/kernel/busses/usb/ehci.cpp +++ b/src/add-ons/kernel/busses/usb/ehci.cpp @@ -659,6 +659,7 @@ EHCI::~EHCI() delete_sem(fAsyncAdvanceSem); delete_sem(fFinishTransfersSem); delete_sem(fFinishIsochronousTransfersSem); + delete_sem(fCleanupSem); wait_for_thread(fFinishThread, &result); wait_for_thread(fCleanupThread, &result); wait_for_thread(fFinishIsochronousThread, &result);