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/clas…
==============================================================================
--- 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;