From nobody Wed May 4 12:27:32 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 58DA11ACCA9D; Wed, 4 May 2022 12:27:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ktbgm20jtz53QY; Wed, 4 May 2022 12:27:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1651667252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQlOxRwQAcHvkEBg1fzJdE7AoAhT1WNdrtnvkqb/g1c=; b=qYlZvRvyOZEdL4vnlfTLVpT04KZF5B8DZesrinD4IwgeZOI/q5VfunQhQr+0XBS/tZ+1/u c478d6pZGH17kfWHM0w9cn2LRC/GRcLmBrOeZEC3EMch8vdsMdWrOUrlzBmKxkCwUCWmUO 6HdY6c5BE5KH8ciFS3CZ789iPJI2TPggtJKjtU/PGlgyA2iKAsGdzvGphSX+ctLOVnQeA2 1X4nndI+kEKCC+g+DjjwctWdT/5vl7LZyBs5uf2sEcW/aVN4nG3fhFHJ9In5oa3pJUmktD F8aVt0yoOgrBy9TE+i3cbhdSJLR3SAtbGr8QSjUw0/6r7cKhH3VOfC9wt/bqIQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 252F613099; Wed, 4 May 2022 12:27:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 244CRWZs088974; Wed, 4 May 2022 12:27:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 244CRWtO088973; Wed, 4 May 2022 12:27:32 GMT (envelope-from git) Date: Wed, 4 May 2022 12:27:32 GMT Message-Id: <202205041227.244CRWtO088973@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Hans Petter Selasky Subject: git: 340ed8ccb576 - releng/13.1 - xhci(4): Only drop BULK and INTERRUPT endpoints to reset data toggle. List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: hselasky X-Git-Repository: src X-Git-Refname: refs/heads/releng/13.1 X-Git-Reftype: branch X-Git-Commit: 340ed8ccb576e74e0cc8e5f1e8e3bbabbe53f090 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1651667252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FQlOxRwQAcHvkEBg1fzJdE7AoAhT1WNdrtnvkqb/g1c=; b=IpADFZPcUfsyQbd6j1+vXP+Pfvxv2yU1Mr3H6OalPaETtXE8ZBuG5qCWmTsGwRyUAikK87 uILmRijy4jtq+TLTwGaxoub1BScZkJagzoLXlE3XfkUq7LRkye8ySifTYljVhhIGamQXvy lfzRNo0od9ouLetEtnBgomNwA22ZzFJElMenRfxpx0polqdlhWJWAlDz8x9SocqgBxyqmn M4Hbic0cCa0AOf6+yEQnNO+ni6JjYng3QtVxnloASzJYoSEJCUrbXsEwiWEcQRAoZVOs2R Wd/xZca5YYB+vrlcu0Vbbhfh9YET/Qs/x0KstZE3mQDZ+7AqOOFNwwY4+oNiTA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1651667252; a=rsa-sha256; cv=none; b=WQz+qY4CAPCYsaOKQgWfGlqDy+sjiKSgv4kFT/I9404gtFW4sqYCMUZyGIJ8IWDSMqKJnV UP7OjWsNJlVnyfxmLmUqS2g/qFJ2oRXaM6MaKyD/n3Gc5sdaZFN83Kju6kQkW3gf9WWWtf ddHmOj5YdnaIDsyhKUQ7vmg1WL00SCaK2vSgGCa+0KOMCCmidS9mg3mPrTdovGwmqHNxBk UxttDZakHzsiBL3rV3Q748Oe6pIg+rbHeiTvJOvQVSVl+FbB4CupxhUno8qkVrEm01+4gk Bp7WI+Oc6Psm4rTt+h6Jt2JUwlTXMum8JXBMKXvpR3WySE2oW4eZyk+ovL+ltw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch releng/13.1 has been updated by hselasky: URL: https://cgit.FreeBSD.org/src/commit/?id=340ed8ccb576e74e0cc8e5f1e8e3bbabbe53f090 commit 340ed8ccb576e74e0cc8e5f1e8e3bbabbe53f090 Author: Hans Petter Selasky AuthorDate: 2022-05-03 16:09:17 +0000 Commit: Hans Petter Selasky CommitDate: 2022-05-04 07:20:46 +0000 xhci(4): Only drop BULK and INTERRUPT endpoints to reset data toggle. Only drop BULK and INTERRUPT endpoints, to reset the data toggle, because for other endpoint types this is not critical. While at it fix some whitespace. Tested by: ehaupt@ PR: 262882 Approved by: re (gjb, early MFC) Sponsored by: NVIDIA Networking (cherry picked from commit e276d281503160ba3648bd394cde95736ee53329) (cherry picked from commit 610528736f3f0bf51f990dd93c5061a7a437e519) --- sys/dev/usb/controller/xhci.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/controller/xhci.c b/sys/dev/usb/controller/xhci.c index 3d551eab2d44..9e812edae991 100644 --- a/sys/dev/usb/controller/xhci.c +++ b/sys/dev/usb/controller/xhci.c @@ -3898,9 +3898,16 @@ xhci_configure_reset_endpoint(struct usb_xfer *xfer) mask = (1U << epno); - if (epno != 1 && drop != 0) { + /* + * So-called control and isochronous transfer types have + * predefined data toggles (USB 2.0) or sequence numbers (USB + * 3.0) and does not need to be dropped. + */ + if (drop != 0 && + (edesc->bmAttributes & UE_XFERTYPE) != UE_CONTROL && + (edesc->bmAttributes & UE_XFERTYPE) != UE_ISOCHRONOUS) { /* drop endpoint context to reset data toggle value, if any. */ - xhci_configure_mask(udev, mask, 1); + xhci_configure_mask(udev, mask, 1); err = xhci_cmd_configure_ep(sc, buf_inp.physaddr, 0, index); if (err != 0) { DPRINTF("Could not drop "