Author: vmikayelyan
Date: Fri Aug 19 16:20:32 2016
New Revision: 72378
URL:
http://svn.reactos.org/svn/reactos?rev=72378&view=rev
Log:
usb: libusb: hub_controller: Fix PnP handler
In some cases our driver was changing IRP status in places where it
shouldn't.
Modified:
branches/GSoC_2016/USB/sdk/lib/drivers/libusb/hub_controller.cpp
Modified: branches/GSoC_2016/USB/sdk/lib/drivers/libusb/hub_controller.cpp
URL:
http://svn.reactos.org/svn/reactos/branches/GSoC_2016/USB/sdk/lib/drivers/l…
==============================================================================
--- branches/GSoC_2016/USB/sdk/lib/drivers/libusb/hub_controller.cpp [iso-8859-1]
(original)
+++ branches/GSoC_2016/USB/sdk/lib/drivers/libusb/hub_controller.cpp [iso-8859-1] Fri Aug
19 16:20:32 2016
@@ -568,7 +568,8 @@
break;
}
}
- Status = STATUS_SUCCESS;
+ // Here we should leave Status as is.
+ Status = Irp->IoStatus.Status;
break;
}
case IRP_MN_QUERY_CAPABILITIES:
@@ -611,6 +612,14 @@
// handle device interface requests
//
Status = HandleQueryInterface(IoStack);
+
+ //
+ // If a bus driver does not export the requested interface, it
+ // should leave Status as is.
+ //
+ if (Status == STATUS_NOT_SUPPORTED)
+ Status = Irp->IoStatus.Status;
+
break;
}
case IRP_MN_REMOVE_DEVICE: