id = 2081 title = "[OHCI] OHCI_CC_DEVICENOTRESPONDING not set when transferring to a disconnected device" state = "opened" created_at = "2024-01-09T03:51:15.462Z" closed_at = "n/a" labels = ["USB"] url = "https://gitlab.com/qemu-project/qemu/-/issues/2081" host-os = "Ubuntu" host-arch = "x86" qemu-version = "QEMU emulator version 7.2.0" guest-os = "n/a" guest-arch = "n/a" description = """If a USB device is disconnected and is cleaned up by qemu, subsequent transfers to that device address are ignored. On a real OHCI controller `OHCI_CC_DEVICENOTRESPONDING` bit is set and is reported as an error to the host. qemu attempts to set it here https://github.com/qemu/qemu/blob/ffd454c67e38cc6df792733ebc5d967eee28ac0d/hw/usb/hcd-ohci.c#L795 which would work fine on a valid device handle. However this check https://github.com/qemu/qemu/blob/ffd454c67e38cc6df792733ebc5d967eee28ac0d/hw/usb/hcd-ohci.c#L975 leaves early if no device handle is found so the error code is never set. Fix is to set `OHCI_CC_DEVICENOTRESPONDING` if `ohci_find_device` fails before returning.""" reproduce = "n/a" additional = "n/a"