diff --git a/reactos/drivers/input/kbdclass/kbdclass.c b/reactos/drivers/input/kbdclass/kbdclass.c index 108ab213d8d..43f2197e4b7 100644 --- a/reactos/drivers/input/kbdclass/kbdclass.c +++ b/reactos/drivers/input/kbdclass/kbdclass.c @@ -729,8 +729,10 @@ ClassCancelRoutine( ASSERT(ClassDeviceExtension->Common.IsClassDO); - IoReleaseCancelSpinLock(Irp->CancelIrql); + IoReleaseCancelSpinLock(Irp->CancelIrql); + KeAcquireSpinLock(&ClassDeviceExtension->SpinLock, &OldIrql); + if (ClassDeviceExtension->PendingIrp == Irp) { ClassDeviceExtension->PendingIrp = NULL;