Author: tfaber Date: Tue Dec 8 13:54:35 2015 New Revision: 70308
URL: http://svn.reactos.org/svn/reactos?rev=70308&view=rev Log: [CLASS2] - Properly forward PNP IRPs to the lower device CORE-8911
Modified: trunk/reactos/drivers/storage/class/class2/class2.c
Modified: trunk/reactos/drivers/storage/class/class2/class2.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/storage/class/class... ============================================================================== --- trunk/reactos/drivers/storage/class/class2/class2.c [iso-8859-1] (original) +++ trunk/reactos/drivers/storage/class/class2/class2.c [iso-8859-1] Tue Dec 8 13:54:35 2015 @@ -354,14 +354,14 @@ { ASSERT(DeviceInfo->Signature == '2slc'); IoSkipCurrentIrpStackLocation(Irp); - return STATUS_SUCCESS; + return IoCallDriver(DeviceInfo->LowerDevice, Irp); } else if (IrpSp->MinorFunction == IRP_MN_REMOVE_DEVICE) { - PCLASS_DEVICE_INFO DeviceInfo = DeviceObject->DeviceExtension; - ASSERT(DeviceInfo->Signature == '2slc'); ScsiClassRemoveDriveLetter(DeviceInfo); + + IoForwardIrpSynchronously(DeviceInfo->LowerDevice, Irp);
Irp->IoStatus.Status = STATUS_SUCCESS; IoCompleteRequest(Irp, IO_NO_INCREMENT); @@ -372,6 +372,12 @@ } else { + if (DeviceInfo->Signature == '2slc') + { + IoSkipCurrentIrpStackLocation(Irp); + return IoCallDriver(DeviceInfo->LowerDevice, Irp); + } + Irp->IoStatus.Status = STATUS_NOT_SUPPORTED; IoCompleteRequest(Irp, IO_NO_INCREMENT); return STATUS_NOT_SUPPORTED;