Author: janderwald
Date: Mon Feb 13 11:12:58 2012
New Revision: 55572

URL: http://svn.reactos.org/svn/reactos?rev=55572&view=rev
Log:
[HIDUSB]
- Retrieve protocol after configuration has been selected
- Fixes HID regression
See issue #6886 for more details.

Modified:
    trunk/reactos/drivers/hid/hidusb/hidusb.c

Modified: trunk/reactos/drivers/hid/hidusb/hidusb.c
URL: 
http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/hid/hidusb/hidusb.c?rev=55572&r1=55571&r2=55572&view=diff
==============================================================================
--- trunk/reactos/drivers/hid/hidusb/hidusb.c [iso-8859-1] (original)
+++ trunk/reactos/drivers/hid/hidusb/hidusb.c [iso-8859-1] Mon Feb 13 11:12:58 
2012
@@ -1311,6 +1311,7 @@
     //
     DeviceExtension = (PHID_DEVICE_EXTENSION)DeviceObject->DeviceExtension;
     HidDeviceExtension = 
(PHID_USB_DEVICE_EXTENSION)DeviceExtension->MiniDeviceExtension;
+    ASSERT(HidDeviceExtension->InterfaceInfo);
 
     if (HidDeviceExtension->InterfaceInfo->SubClass != 0x1)
     {
@@ -1488,11 +1489,6 @@
     Hid_SetIdle(DeviceObject);
 
     //
-    // get protocol
-    //
-    Hid_GetProtocol(DeviceObject);
-
-    //
     // move to next descriptor
     //
     HidDescriptor = (PHID_DESCRIPTOR)((ULONG_PTR)InterfaceDescriptor + 
InterfaceDescriptor->bLength);
@@ -1518,6 +1514,11 @@
         // done
         //
         DPRINT("[HIDUSB] SelectConfiguration %x\n", Status);
+
+        //
+        // get protocol
+        //
+        Hid_GetProtocol(DeviceObject);
         return Status;
     }
 
@@ -1526,6 +1527,11 @@
     //
     UNIMPLEMENTED
     ASSERT(FALSE);
+
+    //
+    // get protocol
+    //
+    Hid_GetProtocol(DeviceObject);
     return STATUS_SUCCESS;
 }
 


Reply via email to