diff --git a/reactos/drivers/storage/scsiport/scsiport.c b/reactos/drivers/storage/scsiport/scsiport.c index a3aa8da9dbc..66b348258a3 100644 --- a/reactos/drivers/storage/scsiport/scsiport.c +++ b/reactos/drivers/storage/scsiport/scsiport.c @@ -2426,7 +2426,9 @@ ScsiPortDispatchScsi(IN PDEVICE_OBJECT DeviceObject, { /* Get next logical unit request */ SpiGetNextRequestFromLun(DeviceExtension, LunExtension); - KeReleaseSpinLock(&DeviceExtension->SpinLock, Irql); + + /* SpiGetNextRequestFromLun() releases the spinlock */ + KeLowerIrql(Irql); } else { @@ -3071,8 +3073,9 @@ SpiSendInquiry (IN PDEVICE_OBJECT DeviceObject, /* Process the request */ SpiGetNextRequestFromLun(DeviceObject->DeviceExtension, LunExtension); - /* Release spinlock */ - KeReleaseSpinLock(&DeviceExtension->SpinLock, Irql); + /* SpiGetNextRequestFromLun() releases the spinlock, + so we just lower irql back to what it was before */ + KeLowerIrql(Irql); } /* Check if data overrun happened */