Commit 72298934 authored by Aric Stewart's avatar Aric Stewart Committed by Alexandre Julliard

hidclass.sys: Move IoSetDeviceInterfaceState to PNP_RemoveDevice.

parent 5b31b764
......@@ -130,23 +130,12 @@ error:
void HID_DeleteDevice(HID_MINIDRIVER_REGISTRATION *driver, DEVICE_OBJECT *device)
{
NTSTATUS status;
BASE_DEVICE_EXTENSION *ext;
LIST_ENTRY *entry;
IRP *irp;
ext = device->DeviceExtension;
if (ext->link_name.Buffer)
{
TRACE("Delete link %s\n", debugstr_w(ext->link_name.Buffer));
IoSetDeviceInterfaceState(&ext->link_name, FALSE);
status = IoDeleteSymbolicLink(&ext->link_name);
if (status != STATUS_SUCCESS)
ERR("Delete Symbolic Link failed (%x)\n",status);
}
if (ext->thread)
{
SetEvent(ext->halt_event);
......
......@@ -212,9 +212,17 @@ NTSTATUS WINAPI PNP_AddDevice(DRIVER_OBJECT *driver, DEVICE_OBJECT *PDO)
NTSTATUS PNP_RemoveDevice(minidriver *minidriver, DEVICE_OBJECT *device, IRP *irp)
{
BASE_DEVICE_EXTENSION *ext = device->DeviceExtension;
hid_device *hiddev;
NTSTATUS rc = STATUS_NOT_SUPPORTED;
rc = IoSetDeviceInterfaceState(&ext->link_name, FALSE);
if (rc)
{
FIXME("failed to disable interface %x\n", rc);
return rc;
}
if (irp)
rc = minidriver->PNPDispatch(device, irp);
HID_DeleteDevice(&minidriver->minidriver, device);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment