summaryrefslogtreecommitdiffstats
path: root/hw/usb/host-libusb.c
diff options
context:
space:
mode:
authorPeter Maydell2018-11-27 12:21:38 +0100
committerPeter Maydell2018-11-27 12:21:38 +0100
commit4822f1ee9efa8df56e29db0a68323b484bdb0335 (patch)
treee6b6aefcccf8d46f4c758d1b699abaef21bd0cff /hw/usb/host-libusb.c
parentMerge remote-tracking branch 'remotes/ehabkost/tags/x86-for-3.1-pull-request'... (diff)
parentqapi: add query-display-options command (diff)
downloadqemu-4822f1ee9efa8df56e29db0a68323b484bdb0335.tar.gz
qemu-4822f1ee9efa8df56e29db0a68323b484bdb0335.tar.xz
qemu-4822f1ee9efa8df56e29db0a68323b484bdb0335.zip
Merge remote-tracking branch 'remotes/kraxel/tags/fixes-31-20181127-pull-request' into staging
various bugfixes for 3.1: fmops, ps2, cirrus, hda, usb-host, qapi # gpg: Signature made Tue 27 Nov 2018 06:49:13 GMT # gpg: using RSA key 4CB6D8EED3E87138 # gpg: Good signature from "Gerd Hoffmann (work) <kraxel@redhat.com>" # gpg: aka "Gerd Hoffmann <gerd@kraxel.org>" # gpg: aka "Gerd Hoffmann (private) <kraxel@gmail.com>" # Primary key fingerprint: A032 8CFF B93A 17A7 9901 FE7D 4CB6 D8EE D3E8 7138 * remotes/kraxel/tags/fixes-31-20181127-pull-request: qapi: add query-display-options command usb-host: set ifs.detached as true if kernel driver is not active audio/hda: fix guest triggerable assert cirrus_vga/migration: update the bank offset before use ps2kbd: default to scan enabled after reset fmops: fix off-by-one in AR_TABLE and DR_TABLE array size Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/usb/host-libusb.c')
-rw-r--r--hw/usb/host-libusb.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c
index f31e9cbbb8..b6602ded4e 100644
--- a/hw/usb/host-libusb.c
+++ b/hw/usb/host-libusb.c
@@ -1120,6 +1120,9 @@ static void usb_host_detach_kernel(USBHostDevice *s)
rc = libusb_kernel_driver_active(s->dh, i);
usb_host_libusb_error("libusb_kernel_driver_active", rc);
if (rc != 1) {
+ if (rc == 0) {
+ s->ifs[i].detached = true;
+ }
continue;
}
trace_usb_host_detach_kernel(s->bus_num, s->addr, i);