https://git.reactos.org/?p=reactos.git;a=commitdiff;h=6c3a10c55a6a2f93f5b87…
commit 6c3a10c55a6a2f93f5b87e4930dde22f0099c9a8
Author: Thomas Faber <thomas.faber(a)reactos.org>
AuthorDate: Wed Mar 6 14:57:01 2019 +0100
Commit: Thomas Faber <thomas.faber(a)reactos.org>
CommitDate: Fri May 1 12:05:06 2020 +0200
[USBCCGP] Always forward device relations IRPs.
---
drivers/usb/usbccgp/fdo.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/usbccgp/fdo.c b/drivers/usb/usbccgp/fdo.c
index 927d19ef0f9..f3b3c6ec41a 100644
--- a/drivers/usb/usbccgp/fdo.c
+++ b/drivers/usb/usbccgp/fdo.c
@@ -119,7 +119,7 @@ FDO_DeviceRelations(
if (IoStack->Parameters.QueryDeviceRelations.Type != BusRelations)
{
/* FDO always only handles bus relations */
- return USBCCGP_SyncForwardIrp(FDODeviceExtension->NextDeviceObject, Irp);
+ return STATUS_SUCCESS;
}
/* Go through array and count device objects */
@@ -159,6 +159,7 @@ FDO_DeviceRelations(
/* Store result */
Irp->IoStatus.Information = (ULONG_PTR)DeviceRelations;
+ Irp->IoStatus.Status = STATUS_SUCCESS;
/* Request completed successfully */
return STATUS_SUCCESS;
@@ -420,7 +421,14 @@ FDO_HandlePnp(
{
/* Handle device relations */
Status = FDO_DeviceRelations(DeviceObject, Irp);
- break;
+ if (!NT_SUCCESS(Status))
+ {
+ break;
+ }
+
+ /* Forward irp to next device object */
+ IoSkipCurrentIrpStackLocation(Irp);
+ return IoCallDriver(FDODeviceExtension->NextDeviceObject, Irp);
}
case IRP_MN_QUERY_CAPABILITIES:
{