From 2f252b01ea1304992924552c29b8508f130bf82d Mon Sep 17 00:00:00 2001 From: Thomas Faber Date: Sun, 12 May 2013 18:51:11 +0000 Subject: [PATCH] [HID] - Hidclass must delete the FDO, not the minidriver. svn path=/trunk/; revision=59011 --- reactos/drivers/hid/hidclass/fdo.c | 14 ++++++++++++++ reactos/drivers/hid/hidusb/hidusb.c | 6 ------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/reactos/drivers/hid/hidclass/fdo.c b/reactos/drivers/hid/hidclass/fdo.c index c78478f6117..70b6460a5d8 100644 --- a/reactos/drivers/hid/hidclass/fdo.c +++ b/reactos/drivers/hid/hidclass/fdo.c @@ -411,6 +411,13 @@ HidClassFDO_RemoveDevice( IN PIRP Irp) { NTSTATUS Status; + PHIDCLASS_FDO_EXTENSION FDODeviceExtension; + + // + // get device extension + // + FDODeviceExtension = DeviceObject->DeviceExtension; + ASSERT(FDODeviceExtension->Common.IsFDO); /* FIXME cleanup */ @@ -425,6 +432,13 @@ HidClassFDO_RemoveDevice( // Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IO_NO_INCREMENT); + + // + // detach and delete device + // + IoDetachDevice(FDODeviceExtension->Common.HidDeviceExtension.NextDeviceObject); + IoDeleteDevice(DeviceObject); + return Status; } diff --git a/reactos/drivers/hid/hidusb/hidusb.c b/reactos/drivers/hid/hidusb/hidusb.c index 82b86115ee0..72164459d64 100644 --- a/reactos/drivers/hid/hidusb/hidusb.c +++ b/reactos/drivers/hid/hidusb/hidusb.c @@ -1660,12 +1660,6 @@ HidPnp( HidDeviceExtension->ConfigurationDescriptor = NULL; } - // - // delete and detach device - // - IoDetachDevice(DeviceExtension->NextDeviceObject); - IoDeleteDevice(DeviceObject); - return Status; } case IRP_MN_QUERY_PNP_DEVICE_STATE: