https://git.reactos.org/?p=reactos.git;a=commitdiff;h=deb9c5416f493cdd0de9ce69ff7e39bffe7e34f7
commit deb9c5416f493cdd0de9ce69ff7e39bffe7e34f7 Author: Serge Gautherie <[email protected]> AuthorDate: Mon Oct 23 21:18:27 2017 +0200 CORE-13048. [I8042PRT] keyboard.c: Restore 1 "Irql =" (which was lost in r30000). (#63) [I8042PRT] Restore 1 "Irql =" (which was lost in r30000). CORE-13048 --- drivers/input/i8042prt/keyboard.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/input/i8042prt/keyboard.c b/drivers/input/i8042prt/keyboard.c index e007d289b8..198ec8f35d 100644 --- a/drivers/input/i8042prt/keyboard.c +++ b/drivers/input/i8042prt/keyboard.c @@ -369,7 +369,10 @@ i8042KbdDpcRoutine( DeviceExtension->KeyboardBuffer + KeysInBufferCopy, &KeysTransferred); - KeAcquireInterruptSpinLock(PortDeviceExtension->HighestDIRQLInterrupt); + /* Validate that the callback didn't change the Irql. */ + ASSERT(KeGetCurrentIrql() == Irql); + + Irql = KeAcquireInterruptSpinLock(PortDeviceExtension->HighestDIRQLInterrupt); DeviceExtension->KeysInBuffer -= KeysTransferred; KeReleaseInterruptSpinLock(PortDeviceExtension->HighestDIRQLInterrupt, Irql); }
