https://git.reactos.org/?p=reactos.git;a=commitdiff;h=deb9c5416f493cdd0de9c…
commit deb9c5416f493cdd0de9ce69ff7e39bffe7e34f7
Author: Serge Gautherie <32623169+SergeGautherie(a)users.noreply.github.com>
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);
}