Revert 19324 and part of 19325...
authorHervé Poussineau <hpoussin@reactos.org>
Fri, 18 Nov 2005 20:35:42 +0000 (20:35 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Fri, 18 Nov 2005 20:35:42 +0000 (20:35 +0000)
svn path=/trunk/; revision=19328

reactos/drivers/input/kbdclass/kbdclass.c
reactos/ntoskrnl/io/pnpmgr.c

index f478c6d..371b8ca 100644 (file)
@@ -329,7 +329,7 @@ cleanup:
        DeviceExtension->ReadIsPending = FALSE;
        DeviceExtension->InputCount = 0;
        DeviceExtension->PortData = ExAllocatePool(NonPagedPool, DeviceExtension->DriverExtension->DataQueueSize * sizeof(KEYBOARD_INPUT_DATA));
-       Fdo->Flags |= DO_POWER_PAGABLE;
+       Fdo->Flags |= DO_POWER_PAGABLE | DO_BUFFERED_IO;
        Fdo->Flags &= ~DO_DEVICE_INITIALIZING;
 
        /* Add entry entry to HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\[DeviceBaseName] */
@@ -385,7 +385,7 @@ ClassCallback(
                /* A read request is waiting for input, so go straight to it */
                /* FIXME: use SEH */
                RtlCopyMemory(
-                       Irp->MdlAddress ? MmGetSystemAddressForMdlSafe(Irp->MdlAddress, NormalPagePriority) : Irp->UserBuffer,
+                       Irp->MdlAddress ? MmGetSystemAddressForMdlSafe(Irp->MdlAddress, NormalPagePriority) : Irp->AssociatedIrp.SystemBuffer,
                        DataStart,
                        sizeof(KEYBOARD_INPUT_DATA));
 
@@ -585,7 +585,7 @@ ClassStartIo(
 
                /* FIXME: use SEH */
                RtlCopyMemory(
-                       Irp->MdlAddress ? MmGetSystemAddressForMdlSafe(Irp->MdlAddress, NormalPagePriority) : Irp->UserBuffer,
+                       Irp->AssociatedIrp.SystemBuffer,
                        DeviceExtension->PortData - DeviceExtension->InputCount,
                        sizeof(KEYBOARD_INPUT_DATA));
 
index 720b6a1..7feb2d6 100644 (file)
@@ -2063,11 +2063,6 @@ IopActionInitChildServices(
    }
 #endif
 
-   if (DeviceNode->ServiceName.Length == 0)
-      /* We have a NULL driver for this device. We can't really do
-       * something with it, so state it is started... */
-      IopDeviceNodeSetFlag(DeviceNode, DNF_STARTED);
-
    if (!IopDeviceNodeHasFlag(DeviceNode, DNF_DISABLED) &&
        !IopDeviceNodeHasFlag(DeviceNode, DNF_ADDED) &&
        !IopDeviceNodeHasFlag(DeviceNode, DNF_STARTED))