https://git.reactos.org/?p=reactos.git;a=commitdiff;h=e3198fb644317d30c8f8b…
commit e3198fb644317d30c8f8b25c196334f9928c8402
Author: Victor Perevertkin <victor.perevertkin(a)reactos.org>
AuthorDate: Thu Oct 15 05:52:11 2020 +0300
Commit: Victor Perevertkin <victor.perevertkin(a)reactos.org>
CommitDate: Sat Dec 5 22:25:39 2020 +0300
[NTOS:PNP] Check if APCs are enabled before waiting inside IopSynchronousCall
---
ntoskrnl/io/pnpmgr/pnpmgr.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ntoskrnl/io/pnpmgr/pnpmgr.c b/ntoskrnl/io/pnpmgr/pnpmgr.c
index 3e142b081d0..1a72481691b 100644
--- a/ntoskrnl/io/pnpmgr/pnpmgr.c
+++ b/ntoskrnl/io/pnpmgr/pnpmgr.c
@@ -599,6 +599,8 @@ IopSynchronousCall(IN PDEVICE_OBJECT DeviceObject,
/* Call the driver */
Status = IoCallDriver(TopDeviceObject, Irp);
+ /* Otherwise we may get stuck here or have IoStatusBlock not populated */
+ ASSERT(!KeAreAllApcsDisabled());
if (Status == STATUS_PENDING)
{
/* Wait for it */