mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 18:15:11 +00:00
Never call IoCompleteRequest while holding a spin lock. Attempting to complete an IRP while holding a spin lock can cause deadlocks.
svn path=/trunk/; revision=27429
This commit is contained in:
parent
f0124e6d34
commit
9f79a749af
2 changed files with 6 additions and 6 deletions
|
@ -797,10 +797,10 @@ ClassStartIo(
|
|||
|
||||
/* Go to next packet and complete this request */
|
||||
Irp->IoStatus.Status = Status;
|
||||
IoCompleteRequest(Irp, IO_KEYBOARD_INCREMENT);
|
||||
|
||||
IoStartNextPacket(DeviceObject, FALSE);
|
||||
KeReleaseSpinLock(&DeviceExtension->SpinLock, oldIrql);
|
||||
|
||||
IoCompleteRequest(Irp, IO_KEYBOARD_INCREMENT);
|
||||
IoStartNextPacket(DeviceObject, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -773,10 +773,10 @@ ClassStartIo(
|
|||
|
||||
/* Go to next packet and complete this request */
|
||||
Irp->IoStatus.Status = Status;
|
||||
IoCompleteRequest(Irp, IO_MOUSE_INCREMENT);
|
||||
|
||||
IoStartNextPacket(DeviceObject, FALSE);
|
||||
KeReleaseSpinLock(&DeviceExtension->SpinLock, oldIrql);
|
||||
|
||||
IoCompleteRequest(Irp, IO_MOUSE_INCREMENT);
|
||||
IoStartNextPacket(DeviceObject, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue