diff options
Diffstat (limited to 'results/classifier/108/other/2081')
| -rw-r--r-- | results/classifier/108/other/2081 | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/results/classifier/108/other/2081 b/results/classifier/108/other/2081 new file mode 100644 index 000000000..3bd595c34 --- /dev/null +++ b/results/classifier/108/other/2081 @@ -0,0 +1,24 @@ +device: 0.783 +graphic: 0.757 +performance: 0.666 +network: 0.661 +files: 0.600 +semantic: 0.550 +socket: 0.543 +vnc: 0.467 +other: 0.456 +PID: 0.442 +boot: 0.324 +permissions: 0.269 +debug: 0.227 +KVM: 0.212 + +[OHCI] OHCI_CC_DEVICENOTRESPONDING not set when transferring to a disconnected device +Description of problem: +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. |