From: Gerd Hoffmann Date: Fri, 8 Jun 2012 11:02:52 +0000 (+0200) Subject: usb-host: attach only to running guest X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a844ed842d9a9d929645c09ae0f52f753d7a02e0;p=qemu.git usb-host: attach only to running guest Signed-off-by: Gerd Hoffmann --- diff --git a/hw/usb/host-linux.c b/hw/usb/host-linux.c index a95b0eda55..06b6ed3380 100644 --- a/hw/usb/host-linux.c +++ b/hw/usb/host-linux.c @@ -1737,25 +1737,27 @@ static void usb_host_auto_check(void *unused) struct USBHostDevice *s; int unconnected = 0; - usb_host_scan(NULL, usb_host_auto_scan); + if (runstate_is_running()) { + usb_host_scan(NULL, usb_host_auto_scan); - QTAILQ_FOREACH(s, &hostdevs, next) { - if (s->fd == -1) { - unconnected++; - } - if (s->seen == 0) { - s->errcount = 0; + QTAILQ_FOREACH(s, &hostdevs, next) { + if (s->fd == -1) { + unconnected++; + } + if (s->seen == 0) { + s->errcount = 0; + } + s->seen = 0; } - s->seen = 0; - } - if (unconnected == 0) { - /* nothing to watch */ - if (usb_auto_timer) { - qemu_del_timer(usb_auto_timer); - trace_usb_host_auto_scan_disabled(); + if (unconnected == 0) { + /* nothing to watch */ + if (usb_auto_timer) { + qemu_del_timer(usb_auto_timer); + trace_usb_host_auto_scan_disabled(); + } + return; } - return; } if (!usb_auto_timer) {