[USBCCGP] Allow unconfiguring the device in USBCCGP_PDOSelectConfiguration.
[reactos.git] / drivers / usb / usbccgp / pdo.c
index 6110744..bcd0acb 100644 (file)
@@ -57,7 +57,7 @@ USBCCGP_PdoHandleQueryDeviceText(
     //
     // FIXME use GenericCompositeUSBDeviceString
     //
-    UNIMPLEMENTED
+    UNIMPLEMENTED;
     Buffer = AllocateItem(PagedPool, (wcslen(GenericString) + 1) * sizeof(WCHAR));
     if (!Buffer)
     {
@@ -718,6 +718,14 @@ USBCCGP_PDOSelectConfiguration(
         return STATUS_SUCCESS;
     }
 
+    //
+    // if there is no configuration descriptor, unconfigure the device
+    //
+    if (Urb->UrbSelectConfiguration.ConfigurationDescriptor == NULL)
+    {
+        return STATUS_SUCCESS;
+    }
+
     // sanity checks
     //C_ASSERT(sizeof(struct _URB_HEADER) == 16);
     //C_ASSERT(FIELD_OFFSET(struct _URB_SELECT_CONFIGURATION, Interface.Length) == 24);