summary refs log tree commit diff stats
path: root/gitlab/issues/target_missing/host_missing/accel_missing/2081.toml
blob: 9f4e64e2c2b113753c80f7304ceef73e7f9d90c0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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"