diff --git a/reactos/drivers/input/kbdclass/kbdclass.c b/reactos/drivers/input/kbdclass/kbdclass.c index f7fe08facae..38da20ccb88 100644 --- a/reactos/drivers/input/kbdclass/kbdclass.c +++ b/reactos/drivers/input/kbdclass/kbdclass.c @@ -804,6 +804,8 @@ HandleReadIrp( } else { + IoMarkIrpPending(Irp); + DeviceExtension->PendingIrp = Irp; (VOID)IoSetCancelRoutine(Irp, ClassCancelRoutine); if (Irp->Cancel && IoSetCancelRoutine(Irp, NULL)) { @@ -812,8 +814,6 @@ HandleReadIrp( } else { - IoMarkIrpPending(Irp); - DeviceExtension->PendingIrp = Irp; Status = STATUS_PENDING; } } diff --git a/reactos/drivers/input/mouclass/mouclass.c b/reactos/drivers/input/mouclass/mouclass.c index 987e84ffd6e..775931b9701 100644 --- a/reactos/drivers/input/mouclass/mouclass.c +++ b/reactos/drivers/input/mouclass/mouclass.c @@ -781,6 +781,8 @@ HandleReadIrp( } else { + IoMarkIrpPending(Irp); + DeviceExtension->PendingIrp = Irp; (VOID)IoSetCancelRoutine(Irp, ClassCancelRoutine); if (Irp->Cancel && IoSetCancelRoutine(Irp, NULL)) { @@ -789,8 +791,6 @@ HandleReadIrp( } else { - IoMarkIrpPending(Irp); - DeviceExtension->PendingIrp = Irp; Status = STATUS_PENDING; } }