IofCallDriver(): Non-handled 'IRP_MJ_FLUSH_BUFFERS' is silently ignored.
authorshort <>
Wed, 13 Aug 2003 08:49:52 +0000 (08:49 +0000)
committershort <>
Wed, 13 Aug 2003 08:49:52 +0000 (08:49 +0000)
 - needed to unmount volume of cdfs.sys of NT-5.1sp1

ntoskrnl/io/irp.c

index 2d40f45..cfaf255 100644 (file)
@@ -133,7 +133,14 @@ IofCallDriver(PDEVICE_OBJECT DeviceObject,
     DriverObject->MajorFunction[Param->MajorFunction]);
 
   if (!DriverObject->MajorFunction[Param->MajorFunction])
-    KeBugCheck(0);
+    {
+      if (Param->MajorFunction==IRP_MJ_FLUSH_BUFFERS)
+       {
+         ObDereferenceObject(Param->FileObject);
+         return STATUS_SUCCESS;
+       }
+      KeBugCheck(0);
+    }
   return DriverObject->MajorFunction[Param->MajorFunction](DeviceObject, Irp);
 }