[USBPORT] Leave IRP status untouched for unhandled interfaces.
authorThomas Faber <thomas.faber@reactos.org>
Tue, 5 Mar 2019 21:23:46 +0000 (22:23 +0100)
committerThomas Faber <thomas.faber@reactos.org>
Mon, 11 Mar 2019 07:53:49 +0000 (08:53 +0100)
Found by Driver Verifier.

drivers/usb/usbport/iface.c

index 7897528..1061915 100644 (file)
@@ -804,7 +804,7 @@ USBPORT_PdoQueryInterface(IN PDEVICE_OBJECT FdoDevice,
             DPRINT1("USB_BUS_INTERFACE_HUB_GUID version %x not supported!\n",
                     IoStack->Parameters.QueryInterface.Version);
 
-            return STATUS_NOT_SUPPORTED; // Version not supported
+            return Irp->IoStatus.Status; // Version not supported
         }
 
         /* Interface version 0 */
@@ -864,7 +864,7 @@ USBPORT_PdoQueryInterface(IN PDEVICE_OBJECT FdoDevice,
             DPRINT1("USB_BUS_INTERFACE_USBDI_GUID version %x not supported!\n",
                     IoStack->Parameters.QueryInterface.Version);
 
-            return STATUS_NOT_SUPPORTED; // Version not supported
+            return Irp->IoStatus.Status; // Version not supported
         }
 
         /* Interface version 0 */
@@ -904,5 +904,5 @@ USBPORT_PdoQueryInterface(IN PDEVICE_OBJECT FdoDevice,
         }
     }
 
-    return STATUS_NOT_SUPPORTED;
+    return Irp->IoStatus.Status;
 }