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/li... ============================================================================== --- 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: