From 186dc06a99e23503a6a401fca4df68ea08fbef38 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 9 Jun 2010 20:12:27 +0000 Subject: [PATCH] [PCI] - Implement IRP_MN_REMOVE_DEVICE handling for FDOs svn path=/trunk/; revision=47723 --- reactos/drivers/bus/pci/fdo.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/reactos/drivers/bus/pci/fdo.c b/reactos/drivers/bus/pci/fdo.c index b6753e10a5e..8a81d7b66cf 100644 --- a/reactos/drivers/bus/pci/fdo.c +++ b/reactos/drivers/bus/pci/fdo.c @@ -551,10 +551,6 @@ FdoPnpControl( case IRP_MN_QUERY_STOP_DEVICE: Status = STATUS_NOT_IMPLEMENTED; break; - - case IRP_MN_REMOVE_DEVICE: - Status = STATUS_NOT_IMPLEMENTED; - break; #endif case IRP_MN_START_DEVICE: DPRINT("IRP_MN_START_DEVICE received\n"); @@ -579,7 +575,14 @@ FdoPnpControl( case IRP_MN_FILTER_RESOURCE_REQUIREMENTS: break; case IRP_MN_REMOVE_DEVICE: - DPRINT1("IRP_MN_REMOVE_DEVICE is UNIMPLEMENTED!\n"); + /* Detach the device object from the device stack */ + IoDetachDevice(DeviceExtension->Ldo); + + /* Delete the device object */ + IoDeleteDevice(DeviceObject); + + /* Return success */ + Status = STATUS_SUCCESS; break; default: DPRINT1("Unknown IOCTL 0x%lx\n", IrpSp->MinorFunction);