From efbc894614f3e5d3e31d1886a443928292a164d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Fri, 29 Aug 2014 01:29:35 +0200 Subject: [PATCH] pc_serial: skip waiting for pending DPC in free hook Since it's possible to fail queuing them, the count doesn't go down to 0, and the process just hangs forever on exit. It might not be necessary anyway. --- src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp b/src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp index 5b80fe44e2..d27a8303bb 100644 --- a/src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp +++ b/src/add-ons/kernel/drivers/ports/pc_serial/SerialDevice.cpp @@ -702,8 +702,8 @@ SerialDevice::Free() // wait until currently executing DPC is done. In case another one // is run beyond this point it will just bail out on !IsOpen(). - while (atomic_get(&fPendingDPC)) - snooze(1000); + //while (atomic_get(&fPendingDPC)) + // snooze(1000); gTTYModule->tty_destroy_cookie(fSystemTTYCookie); gTTYModule->tty_destroy_cookie(fDeviceTTYCookie);