[I8042PRT]
[reactos.git] / reactos / drivers / input / i8042prt / keyboard.c
index 275aeb6..b86c7d7 100644 (file)
@@ -467,11 +467,11 @@ i8042KbdDeviceControl(
                }
        }
 
-       Irp->IoStatus.Status = Status;
-       if (Status == STATUS_PENDING)
-               IoMarkIrpPending(Irp);
-       else
+       if (Status != STATUS_PENDING)
+       {
+               Irp->IoStatus.Status = Status;
                IoCompleteRequest(Irp, IO_NO_INCREMENT);
+       }
 
        return Status;
 }
@@ -738,9 +738,11 @@ cleanup:
                }
        }
 
-       Irp->IoStatus.Status = Status;
        if (Status != STATUS_PENDING)
+       {
+               Irp->IoStatus.Status = Status;
                IoCompleteRequest(Irp, IO_NO_INCREMENT);
+       }
        return Status;
 }
 
@@ -855,13 +857,14 @@ i8042KbdInterruptService(
             if (InputData->MakeCode == 0x25)
             {
                 /* k - Breakpoint */
-                DbgBreakPoint();
+                DbgBreakPointWithStatus(DBG_STATUS_SYSRQ);
             }
             else if (InputData->MakeCode == 0x30)
             {
                 /* b - Bugcheck */
                 KeBugCheck(MANUALLY_INITIATED_CRASH);
             }
+#if defined(KDBG)
             else
             {
                            /* Send request to the kernel debugger.
@@ -874,6 +877,7 @@ i8042KbdInterruptService(
                                                 NULL,
                                                 KernelMode);
             }
+#endif
                }
        }