- Retrieve protocol after configuration has been selected
- Fixes HID regression
See issue #6886 for more details.

svn path=/trunk/; revision=55572
This commit is contained in:
Johannes Anderwald 2012-02-13 11:12:58 +00:00
parent 32157dc192
commit a4870d538f

View file

@ -1311,6 +1311,7 @@ Hid_GetProtocol(
// //
DeviceExtension = (PHID_DEVICE_EXTENSION)DeviceObject->DeviceExtension; DeviceExtension = (PHID_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
HidDeviceExtension = (PHID_USB_DEVICE_EXTENSION)DeviceExtension->MiniDeviceExtension; HidDeviceExtension = (PHID_USB_DEVICE_EXTENSION)DeviceExtension->MiniDeviceExtension;
ASSERT(HidDeviceExtension->InterfaceInfo);
if (HidDeviceExtension->InterfaceInfo->SubClass != 0x1) if (HidDeviceExtension->InterfaceInfo->SubClass != 0x1)
{ {
@ -1487,11 +1488,6 @@ Hid_PnpStart(
// //
Hid_SetIdle(DeviceObject); Hid_SetIdle(DeviceObject);
//
// get protocol
//
Hid_GetProtocol(DeviceObject);
// //
// move to next descriptor // move to next descriptor
// //
@ -1518,6 +1514,11 @@ Hid_PnpStart(
// done // done
// //
DPRINT("[HIDUSB] SelectConfiguration %x\n", Status); DPRINT("[HIDUSB] SelectConfiguration %x\n", Status);
//
// get protocol
//
Hid_GetProtocol(DeviceObject);
return Status; return Status;
} }
@ -1526,6 +1527,11 @@ Hid_PnpStart(
// //
UNIMPLEMENTED UNIMPLEMENTED
ASSERT(FALSE); ASSERT(FALSE);
//
// get protocol
//
Hid_GetProtocol(DeviceObject);
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }