Wolfgang Walter wine@stwm.de writes:
@@ -1265,8 +1265,12 @@ static inline NTSTATUS io_control(HANDLE hDevice, case IOCTL_SERIAL_WAIT_ON_MASK: if (lpOutBuffer && nOutBufferSize == sizeof(DWORD)) {
piosb->u.Status = STATUS_PENDING;
piosb->Information = 0; if (!(status = wait_on(hDevice, fd, hEvent, piosb, lpOutBuffer))) sz = sizeof(DWORD);
else if (status == STATUS_PENDING)
return status;
Status is not supposed to be set until the operation is done.