From nobody Fri Apr 19 21:56:21 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zoho.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1486972626560185.47595717814954; Sun, 12 Feb 2017 23:57:06 -0800 (PST) Received: from localhost ([::1]:55008 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdBVQ-00006m-SY for importer@patchew.org; Mon, 13 Feb 2017 02:57:04 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50414) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cdBUc-00087g-C2 for qemu-devel@nongnu.org; Mon, 13 Feb 2017 02:56:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cdBUZ-0000K3-85 for qemu-devel@nongnu.org; Mon, 13 Feb 2017 02:56:14 -0500 Received: from mx1.redhat.com ([209.132.183.28]:45736) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cdBUZ-0000Jm-2Q for qemu-devel@nongnu.org; Mon, 13 Feb 2017 02:56:11 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 68DC4C04B923; Mon, 13 Feb 2017 07:56:08 +0000 (UTC) Received: from localhost.localdomain (ovpn-116-45.sin2.redhat.com [10.67.116.45]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v1D7u24X005626 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 13 Feb 2017 02:56:05 -0500 From: P J P To: Qemu Developers Date: Mon, 13 Feb 2017 13:25:58 +0530 Message-Id: <20170213075558.786-1-ppandit@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 13 Feb 2017 07:56:08 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH] usb: xhci: break loop after ctrl transfer complete 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: Li Qiang , Gerd Hoffmann , Prasad J Pandit Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" From: Prasad J Pandit xHCI controller emulator loops through the transfer ring to transfer control/data between host memory and device endpoints. It continues to do so after processing 'Status Stage' TD which is the last descriptor in control transfer. Add break to avoid infinite loop. Reported-by: Li Qiang Signed-off-by: Prasad J Pandit --- hw/usb/hcd-xhci.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c index 54b3901..7e2d345 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -2252,6 +2252,7 @@ static void xhci_kick_epctx(XHCIEPContext *epctx, uns= igned int streamid) if (xfer->complete) { xhci_ep_free_xfer(xfer); xfer =3D NULL; + break; } =20 if (epctx->state =3D=3D EP_HALTED) { --=20 2.9.3