[USBCCGP] Allow unconfiguring the device in USBCCGP_PDOSelectConfiguration.
authorThomas Faber <thomas.faber@reactos.org>
Sun, 7 Apr 2019 09:54:43 +0000 (11:54 +0200)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 14 Apr 2019 13:32:14 +0000 (15:32 +0200)
Fixes device removal for USB audio devices.

drivers/usb/usbccgp/pdo.c

index 06a549f..bcd0acb 100644 (file)
@@ -718,6 +718,14 @@ USBCCGP_PDOSelectConfiguration(
         return STATUS_SUCCESS;
     }
 
         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);
     // sanity checks
     //C_ASSERT(sizeof(struct _URB_HEADER) == 16);
     //C_ASSERT(FIELD_OFFSET(struct _URB_SELECT_CONFIGURATION, Interface.Length) == 24);