[PATCH] hidclass.sys: Unload all devices before unloading a minidriver
Signed-off-by: Aric Stewart <aric(a)codeweavers.com> --- dlls/hidclass.sys/hid.h | 8 ++++++++ dlls/hidclass.sys/main.c | 8 ++++++++ dlls/hidclass.sys/pnp.c | 35 +++++++++++++++++++++++++++++++---- 3 files changed, 47 insertions(+), 4 deletions(-)
+NTSTATUS PNP_RemoveDevice(minidriver *minidriver, DEVICE_OBJECT *device, IRP* irp) Hi Aric,
It would be better if * is close to variable name consistantly. Also in the declaration.
+{ + hid_device *hiddev; + NTSTATUS rc = STATUS_NOT_SUPPORTED; + + if (irp) + rc = minidriver->PNPDispatch(device, irp); + HID_DeleteDevice(&minidriver->minidriver, device); + LIST_FOR_EACH_ENTRY(hiddev, &minidriver->device_list, hid_device, entry) Since we're removing the entry, shouldn't LIST_FOR_EACH_ENTRY_SAFE be used?
Thanks, Zhiyi
+ { + if (hiddev->device == device) + { + list_remove(&hiddev->entry); + HeapFree(GetProcessHeap(), 0, hiddev); + break; + } + } + return rc; +}
在 2018/7/24 21:16, Aric Stewart 写道:
Signed-off-by: Aric Stewart <aric(a)codeweavers.com> --- dlls/hidclass.sys/hid.h | 8 ++++++++ dlls/hidclass.sys/main.c | 8 ++++++++ dlls/hidclass.sys/pnp.c | 35 +++++++++++++++++++++++++++++++---- 3 files changed, 47 insertions(+), 4 deletions(-)
participants (2)
-
Aric Stewart -
Zhiyi Zhang