X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=drivers%2Finput%2Fkbdclass%2Fkbdclass.c;h=c18b0c72a5e32f495e3107b925fe54b6e88de03f;hp=09967b9f7491b894262a63065b641d484ed469e0;hb=e5cc846555486cd27c68d51ad1c68417b9c6b771;hpb=9bdc095371b78cf9be63ef41cf7383e361c09c77 diff --git a/drivers/input/kbdclass/kbdclass.c b/drivers/input/kbdclass/kbdclass.c index 09967b9f749..c18b0c72a5e 100644 --- a/drivers/input/kbdclass/kbdclass.c +++ b/drivers/input/kbdclass/kbdclass.c @@ -193,15 +193,18 @@ IrpStub( IN PIRP Irp) { NTSTATUS Status = STATUS_NOT_SUPPORTED; + PPORT_DEVICE_EXTENSION DeviceExtension; - if (!((PCOMMON_DEVICE_EXTENSION)DeviceObject->DeviceExtension)->IsClassDO) + DeviceExtension = DeviceObject->DeviceExtension; + if (!DeviceExtension->Common.IsClassDO) { /* Forward some IRPs to lower device */ switch (IoGetCurrentIrpStackLocation(Irp)->MajorFunction) { - case IRP_MJ_PNP: - case IRP_MJ_INTERNAL_DEVICE_CONTROL: - return ForwardIrpAndForget(DeviceObject, Irp); + case IRP_MJ_POWER: + PoStartNextPowerIrp(Irp); + IoSkipCurrentIrpStackLocation(Irp); + return PoCallDriver(DeviceExtension->LowerDevice, Irp); default: { ERR_(CLASS_NAME, "Port DO stub for major function 0x%lx\n", @@ -704,7 +707,7 @@ ClassAddDevice( Fdo->Flags &= ~DO_DEVICE_INITIALIZING; /* Register interface ; ignore the error (if any) as having - * a registred interface is not so important... */ + * a registered interface is not so important... */ Status = IoRegisterDeviceInterface( Pdo, &GUID_DEVINTERFACE_KEYBOARD,