From 21fb64f0bfa7aa71f90729b6febb3beb53fc97b9 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Thu, 5 Jan 2012 01:24:11 +0000 Subject: [PATCH] [USB-BRINGUP] - Fix creating instance id - Print debug message - Sync msmouse with head and add hid installation - Needs input.inf written - HID stack starts to initializes and then fails the to enable the device interface (/drivers/hid/hidclass/pdo.c:511), Logs show that IoGetDeviceObjectPointer() fails with STATUS_UNSUCCESSFUL svn path=/branches/usb-bringup/; revision=54837 --- drivers/hid/hidclass/pdo.c | 3 ++- drivers/usb/usbhub_new/fdo.c | 5 +++-- media/inf/msmouse.inf | Bin 19342 -> 22282 bytes 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/hid/hidclass/pdo.c b/drivers/hid/hidclass/pdo.c index 6b8037b5d12..b15d56eade2 100644 --- a/drivers/hid/hidclass/pdo.c +++ b/drivers/hid/hidclass/pdo.c @@ -501,15 +501,16 @@ HidClassPDO_PnP( // now register the device interface // Status = IoRegisterDeviceInterface(PDODeviceExtension->Common.HidDeviceExtension.PhysicalDeviceObject, &GUID_DEVINTERFACE_HID, NULL, &PDODeviceExtension->DeviceInterface); + DPRINT1("[HIDCLASS] IoRegisterDeviceInterfaceState Status %x\n", Status); if (NT_SUCCESS(Status)) { // // enable device interface // Status = IoSetDeviceInterfaceState(&PDODeviceExtension->DeviceInterface, TRUE); + DPRINT1("[HIDCLASS] IoSetDeviceInterFaceState %x\n", Status); } ASSERT(Status == STATUS_SUCCESS); - // // break // diff --git a/drivers/usb/usbhub_new/fdo.c b/drivers/usb/usbhub_new/fdo.c index c4a631d4597..cdca463df05 100644 --- a/drivers/usb/usbhub_new/fdo.c +++ b/drivers/usb/usbhub_new/fdo.c @@ -803,6 +803,7 @@ CreateDeviceIds( NTSTATUS Status; ULONG Index; PWCHAR BufferPtr; + WCHAR Buffer[100]; PHUB_CHILDDEVICE_EXTENSION UsbChildExtension; UsbChildExtension = (PHUB_CHILDDEVICE_EXTENSION)UsbChildDeviceObject->DeviceExtension; @@ -959,7 +960,7 @@ CreateDeviceIds( // // the device did not provide a serial number, lets create a pseudo instance id // - Index = swprintf(BufferPtr, L"USB\\Vid_%04x&Pid_%04x&1A0700BC\0", UsbChildExtension->DeviceDesc.idVendor, UsbChildExtension->DeviceDesc.idProduct) + 1; + Index = swprintf(Buffer, L"0&%04d", UsbChildExtension->PortNumber) + 1; UsbChildExtension->usInstanceId.Buffer = (LPWSTR)ExAllocatePool(NonPagedPool, Index * sizeof(WCHAR)); if (UsbChildExtension->usInstanceId.Buffer == NULL) { @@ -970,7 +971,7 @@ CreateDeviceIds( // // copy instance id // - RtlCopyMemory(UsbChildExtension->usInstanceId.Buffer, BufferPtr, wcslen(BufferPtr) * sizeof(WCHAR)); + RtlCopyMemory(UsbChildExtension->usInstanceId.Buffer, Buffer, wcslen(Buffer) * sizeof(WCHAR)); UsbChildExtension->usInstanceId.Length = UsbChildExtension->usDeviceId.MaximumLength = Index * sizeof(WCHAR); DPRINT1("usDeviceId %wZ\n", &UsbChildExtension->usInstanceId); diff --git a/media/inf/msmouse.inf b/media/inf/msmouse.inf index 78fe9a844fd95720defa7959d830fdf18129df83..3e08b5b9a47127466a11a3ca30eacddd9974c840 100644 GIT binary patch delta 1077 zcma)5K~ED=5S~R0f!L_=fMu<0wn0Nw+ES|qL8zfw8`BhMN-)vjrn~5hmbw;*duh1# zK%!&f$%98PM$*5)@8INFFWk8J&32{jlAvi`^LFNY^L^jUd%K^N=6B`C;oyxidPI4e zr>C?`4q3EHNxDrL%F#7iIF3l{F7I3&Zj8}PaAK7Tv_YHnj%=LDQx&^9-NaA(|C$t` zA%ES+DFc0y?Du@*WGktlFir?{x#i<{xx)x%uE^sL0#TUHq;KsN$l5@%Fk01$9UyVwpE+@ z)UVu=zQ%Is+rAPLOSS24Sn#it7B~iamhNcD~JkC zxLlr06)Hf=6_WXxSX$5mso>&!(`Q-0WD_)rYz^2d;x016-mOOG-&5*nZ%n2mm4z3a zWMPK0YS@K53Ax1Z!TEGP(v#;e=~5_ils2xPrbNS2Y%A9JZK5=~1UGFjXA})j?;&19 kH)cnF7Gh}3ltYodWSrOHE1{_UpnP7ZUcEBZ{@LcaKR?ai