diff options
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/2081.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_missing/accel_missing/2081.toml | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/2081.toml b/gitlab/issues/target_missing/host_missing/accel_missing/2081.toml new file mode 100644 index 00000000..9f4e64e2 --- /dev/null +++ b/gitlab/issues/target_missing/host_missing/accel_missing/2081.toml @@ -0,0 +1,21 @@ +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" |