From nobody Sun Feb 8 23:41:37 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1558518549; cv=none; d=zoho.com; s=zohoarc; b=jg58zCjSEYiy+hTPcC70xkIoa2oqsTSNeqijhHgTh/4GCulu4DSPzrsUfI8L+sKXf6X2q7oYYbtFLjOnTpy4/a4xSwxtHBldIM8RkdgNIZXTl0g8O/iF/1V3x2s87gJjcjLljQckyStTcliaddxt4v+cjhtuNreCjKFJA3c/BoA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558518549; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=fmfCG0BtqxKCKRvA5Y6PtnNEFzdplWg/cWCnbgy6dJo=; b=hc2YLfVqciWd3aPp0eMAMTSN5eSZpRKRiX74bkdTH07IKbKXfoEXomU6CxR31MPJugL0cds9HTVkwFgndBrwLiM00pDhT2CWpLobiA8kifs1rtfG4KkEg59FArJeWyh+lb3QkLxzRRsujZeZAfBwK+AJcBeSz1kYOAStLpITSzg= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558518549631459.81534999328255; Wed, 22 May 2019 02:49:09 -0700 (PDT) Received: from localhost ([127.0.0.1]:39365 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTNrr-0003QU-Ml for importer@patchew.org; Wed, 22 May 2019 05:49:03 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48277) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTNpy-0002QE-Uh for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hTNpy-0004ve-4V for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:06 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33770) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hTNpx-0004us-Ug for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:06 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B76F4C04FFF1 for ; Wed, 22 May 2019 09:47:04 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-117-74.ams2.redhat.com [10.36.117.74]) by smtp.corp.redhat.com (Postfix) with ESMTP id 56F4D79435; Wed, 22 May 2019 09:47:03 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 97719A200; Wed, 22 May 2019 11:47:02 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 22 May 2019 11:47:00 +0200 Message-Id: <20190522094702.17619-2-kraxel@redhat.com> In-Reply-To: <20190522094702.17619-1-kraxel@redhat.com> References: <20190522094702.17619-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 22 May 2019 09:47:04 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 1/3] usb: call reset handler before updating state X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" That way the device reset handler can see what the before-reset state of the device is. Signed-off-by: Gerd Hoffmann --- hw/usb/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/usb/core.c b/hw/usb/core.c index 8fbd9c7d573b..3ab48a16074b 100644 --- a/hw/usb/core.c +++ b/hw/usb/core.c @@ -87,10 +87,10 @@ void usb_device_reset(USBDevice *dev) if (dev =3D=3D NULL || !dev->attached) { return; } + usb_device_handle_reset(dev); dev->remote_wakeup =3D 0; dev->addr =3D 0; dev->state =3D USB_STATE_DEFAULT; - usb_device_handle_reset(dev); } =20 void usb_wakeup(USBEndpoint *ep, unsigned int stream) --=20 2.18.1 From nobody Sun Feb 8 23:41:37 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1558518697; cv=none; d=zoho.com; s=zohoarc; b=EzQ+HPei0yinLl1oitwvSORcU91VGc8BWANdXdraHKG1HF4NZ++9GRRgBaLC89p0lmmXl7pYcs1EnIehNXHu5dNL+p3SXbja/hBLM5+YCZKFW0ml8iRNXUJ7cPfDgttf7uw8QVE+kk3nlndieIWpm96WPzs192gg9WR0ULepyA4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558518697; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=SsT63nDdQ8y9gjqr6J1dvAyK3o2CYCNzSGd+q8rVpv0=; b=WrucR9cVoS/apOB9GdB8TPB85fnlM0FKqaUOU3tL/Fq1syqqBR3EfIcBQ4RPdPnlbkj9o3jW1soBtYcvWMQroNOjn6NOVwZRhRLBuZgXoRfvQCORXFGcDJ45xRDXfSPA0WMcd3RVCrFj5g2RdXIJ7NebQZhlLCiuCvWnxaT8ARA= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558518697337653.8809584764161; Wed, 22 May 2019 02:51:37 -0700 (PDT) Received: from localhost ([127.0.0.1]:39411 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTNuF-0005TP-Gc for importer@patchew.org; Wed, 22 May 2019 05:51:31 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48307) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTNq4-0002VP-VP for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:14 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hTNq3-000506-3K for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:51022) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hTNq1-0004yI-QA for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:11 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 97E73300413A for ; Wed, 22 May 2019 09:47:03 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-117-74.ams2.redhat.com [10.36.117.74]) by smtp.corp.redhat.com (Postfix) with ESMTP id 54E2C79422; Wed, 22 May 2019 09:47:03 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id 9FCB2A205; Wed, 22 May 2019 11:47:02 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 22 May 2019 11:47:01 +0200 Message-Id: <20190522094702.17619-3-kraxel@redhat.com> In-Reply-To: <20190522094702.17619-1-kraxel@redhat.com> References: <20190522094702.17619-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.46]); Wed, 22 May 2019 09:47:03 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 2/3] usb-host: skip reset for untouched devices X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" If the guest didn't talk to the device yet, skip the reset. Without this usb-host devices get resetted a number of times at boot time for no good reason. Signed-off-by: Gerd Hoffmann --- hw/usb/host-libusb.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c index 67b7465915f5..4e9a45a5d26f 100644 --- a/hw/usb/host-libusb.c +++ b/hw/usb/host-libusb.c @@ -1459,6 +1459,9 @@ static void usb_host_handle_reset(USBDevice *udev) if (!s->allow_guest_reset) { return; } + if (udev->addr =3D=3D 0) { + return; + } =20 trace_usb_host_reset(s->bus_num, s->addr); =20 --=20 2.18.1 From nobody Sun Feb 8 23:41:37 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1558518624; cv=none; d=zoho.com; s=zohoarc; b=iT1epa75/vbhAHhx2MJRaNFJhDHz4HVCBBUhjv8mxpQhHpcxnCOBX0IfTtgjW1NTQ1mHMi4bpNpPys4ObWFynpEhqMVlR4mzelNCfIQoE0bZrU524qJ5Dbe1tO2gQAZDchkdRmViIzUglo4bfpYRuaRrV/VXcysxVn5NJmMe61g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558518624; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=iO/v0Qt1UrDLiknEc3Y8FnqwtH66zdTT7En8As/x9oI=; b=cFrbWsgZHCVoZIqEhsRzkyOEJJmCVFV/SgRmI6i+G3yZOmMe3oP9sdwsGRP7IgAWWT8grYXpwvbv8ZgwvxBTee+TgaQfFEI9CvDbKQiqI/bIxGaPTVcHjMGFzgfEMUHy46IS6Mam8fSbR5G6JnKgdWheBLCKWcqjRKUJZgvn6iY= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558518624635846.8117446026332; Wed, 22 May 2019 02:50:24 -0700 (PDT) Received: from localhost ([127.0.0.1]:39373 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTNt4-0004XW-PV for importer@patchew.org; Wed, 22 May 2019 05:50:18 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48335) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTNq8-0002YG-P4 for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hTNq6-00052W-Rw for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:16 -0400 Received: from mx1.redhat.com ([209.132.183.28]:36188) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hTNq4-0004zz-VR for qemu-devel@nongnu.org; Wed, 22 May 2019 05:47:13 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C753D59442 for ; Wed, 22 May 2019 09:47:05 +0000 (UTC) Received: from sirius.home.kraxel.org (ovpn-117-74.ams2.redhat.com [10.36.117.74]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5DDE160474; Wed, 22 May 2019 09:47:03 +0000 (UTC) Received: by sirius.home.kraxel.org (Postfix, from userid 1000) id A8F32A206; Wed, 22 May 2019 11:47:02 +0200 (CEST) From: Gerd Hoffmann To: qemu-devel@nongnu.org Date: Wed, 22 May 2019 11:47:02 +0200 Message-Id: <20190522094702.17619-4-kraxel@redhat.com> In-Reply-To: <20190522094702.17619-1-kraxel@redhat.com> References: <20190522094702.17619-1-kraxel@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Wed, 22 May 2019 09:47:05 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH 3/3] usb-host: avoid libusb_set_configuration calls X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gerd Hoffmann Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Seems some devices become confused when we call libusb_set_configuration(). So before calling the function check whenever the device has multiple configurations in the first place, and in case it hasn't (which is the case for the majority of devices) simply skip the call as it will have no effect anyway. Signed-off-by: Gerd Hoffmann --- hw/usb/host-libusb.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c index 4e9a45a5d26f..4f765d7f9a2f 100644 --- a/hw/usb/host-libusb.c +++ b/hw/usb/host-libusb.c @@ -1225,19 +1225,21 @@ static void usb_host_set_address(USBHostDevice *s, = int addr) =20 static void usb_host_set_config(USBHostDevice *s, int config, USBPacket *p) { - int rc; + int rc =3D 0; =20 trace_usb_host_set_config(s->bus_num, s->addr, config); =20 usb_host_release_interfaces(s); - rc =3D libusb_set_configuration(s->dh, config); - if (rc !=3D 0) { - usb_host_libusb_error("libusb_set_configuration", rc); - p->status =3D USB_RET_STALL; - if (rc =3D=3D LIBUSB_ERROR_NO_DEVICE) { - usb_host_nodev(s); + if (s->ddesc.bNumConfigurations !=3D 1) { + rc =3D libusb_set_configuration(s->dh, config); + if (rc !=3D 0) { + usb_host_libusb_error("libusb_set_configuration", rc); + p->status =3D USB_RET_STALL; + if (rc =3D=3D LIBUSB_ERROR_NO_DEVICE) { + usb_host_nodev(s); + } + return; } - return; } p->status =3D usb_host_claim_interfaces(s, config); if (p->status !=3D USB_RET_SUCCESS) { --=20 2.18.1