From c7ed95cb5565f0cfccea4b49c26657a299c230dd Mon Sep 17 00:00:00 2001 From: Stefan Ginsberg Date: Thu, 17 Jul 2008 14:43:36 +0000 Subject: [PATCH] - Patch by Cameron Gutman aicommander gmail com - Don't release the device spinlock twice if KeSynchronizeExecution returns false See issue #3520 for more details. svn path=/trunk/; revision=34564 --- reactos/drivers/storage/scsiport/scsiport.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/reactos/drivers/storage/scsiport/scsiport.c b/reactos/drivers/storage/scsiport/scsiport.c index 69371475e74..e7296e36c06 100644 --- a/reactos/drivers/storage/scsiport/scsiport.c +++ b/reactos/drivers/storage/scsiport/scsiport.c @@ -2894,8 +2894,12 @@ ScsiPortStartIo(IN PDEVICE_OBJECT DeviceObject, IoCompleteRequest(Irp, IO_NO_INCREMENT); } + else + { + /* Release the spinlock only */ + KeReleaseSpinLockFromDpcLevel(&DeviceExtension->SpinLock); + } - KeReleaseSpinLockFromDpcLevel(&DeviceExtension->SpinLock); DPRINT("ScsiPortStartIo() done\n"); }