[HIDUSB]
authorJohannes Anderwald <johannes.anderwald@reactos.org>
Fri, 7 Dec 2012 18:44:14 +0000 (18:44 +0000)
committerJohannes Anderwald <johannes.anderwald@reactos.org>
Fri, 7 Dec 2012 18:44:14 +0000 (18:44 +0000)
- Retry retrieving report descriptor with old hid version
- #CORE-6575 for details

svn path=/trunk/; revision=57816

reactos/drivers/hid/hidusb/hidusb.c

index 3471447..7d5d239 100644 (file)
@@ -651,10 +651,15 @@ HidUsb_GetReportDescriptor(
     {
         //
         // failed to get descriptor
+        // try with old hid version
         //
-        DPRINT("[HIDUSB] failed to get report descriptor with %x\n", Status);
-        ASSERT(FALSE);
-        return Status;
+        BufferLength = HidDeviceExtension->HidDescriptor->DescriptorList[0].wReportLength;
+        Status = Hid_GetDescriptor(DeviceObject, URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT, sizeof(struct _URB_CONTROL_DESCRIPTOR_REQUEST), &Report, &BufferLength, HidDeviceExtension->HidDescriptor->DescriptorList[0].bReportType, 0, 0 /* FIXME*/);
+        if (!NT_SUCCESS(Status))
+        {
+            DPRINT("[HIDUSB] failed to get report descriptor with %x\n", Status);
+            return Status;
+        }
     }
 
     //
@@ -1298,7 +1303,7 @@ Hid_SetIdle(
     //
     // print status
     //
-    DPRINT("Status %x\n", Status);
+    DPRINT1("Status %x\n", Status);
     return Status;
 }