[PATCH 5/5] winebus.sys: Return STATUS_DELETE_PENDING rather than STATUS_CANCELLED when a device is removed.

Zebediah Figura z.figura12 at gmail.com
Thu Feb 11 17:23:45 CST 2021


Microsoft doesn't really clearly document this, but their driver samples return
it here, and so do remove locks.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/winebus.sys/main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dlls/winebus.sys/main.c b/dlls/winebus.sys/main.c
index 396a9d07123..8d3dec4779a 100644
--- a/dlls/winebus.sys/main.c
+++ b/dlls/winebus.sys/main.c
@@ -370,7 +370,7 @@ void bus_remove_hid_device(DEVICE_OBJECT *device)
     while ((entry = RemoveHeadList(&ext->irp_queue)) != &ext->irp_queue)
     {
         irp = CONTAINING_RECORD(entry, IRP, Tail.Overlay.s.ListEntry);
-        irp->IoStatus.u.Status = STATUS_CANCELLED;
+        irp->IoStatus.u.Status = STATUS_DELETE_PENDING;
         irp->IoStatus.Information = 0;
         IoCompleteRequest(irp, IO_NO_INCREMENT);
     }
-- 
2.20.1




More information about the wine-devel mailing list