From nobody Wed May 04 07:30:59 2022 X-Original-To: dev-commits-src-branches@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 4AF6311DD412; Wed, 4 May 2022 07:31:00 +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 4KtT5c15ypz3n27; Wed, 4 May 2022 07:31:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1651649460; 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=fvKEZEjORfk6oBkR8tL07Dv5ZUTwMkUtM1QmFKvt5cI=; b=OY8ASAm1p6EeuneJSYOoXAtu1D5U0iwBISuGFE0wILSB1u/SkK0byX1l+PzQRmWP2BpkmA Yd45nk6F5xo6AtkGVdHYxdZTib4a3gANDqzkMIz3HZ8R9v8phN2tFyR1FWW1rQKmh91H+B LogYuqRugUzQMdY2WQd76bl9r+Ts8zy3jteMw8zdscIaSxzDdE6eiTJlXNnNYyBfRJrlVy qIqRDmrf+XuvNzn1+IITnj5Ot2JSsmjbvaGFrdqBxylHQMo+W3z3gi2vuWC2xRhEgS9U2b PpMLpFagSgnWMgTbin794uTHTwbk576zsTQ9tzah7chnEFZqlIetRByzuLmEKA== 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 0633368DC; Wed, 4 May 2022 07:31:00 +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 2447UxWe093403; Wed, 4 May 2022 07:30:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2447UxUW093402; Wed, 4 May 2022 07:30:59 GMT (envelope-from git) Date: Wed, 4 May 2022 07:30:59 GMT Message-Id: <202205040730.2447UxUW093402@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: a1ec8baee5dd - stable/11 - xhci(4): Only drop BULK and INTERRUPT endpoints to reset data toggle. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@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/stable/11 X-Git-Reftype: branch X-Git-Commit: a1ec8baee5dd0cb8e344ab0e2feafcf49f4a802a Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1651649460; 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=fvKEZEjORfk6oBkR8tL07Dv5ZUTwMkUtM1QmFKvt5cI=; b=t5Hp15U9uOhIetncCKlDBDx8Jp2zrK4Pvo2/jJLcunfQGFMSz7NBGWeWZeheTx0iwQf+wR QGQPJRcJgLYzm290uiRFFi7/ipZqKhWovxIhPknhy0Q5Kw2B7o1rmvfQ8F9w7tg/3FN/fS jFFgNIRPV0XfwVRAMIDX4hX+IRRp99M+e+G2rKiaYhz/wxw4NbByxFxcUipFcQMHQXSjU7 rELE9FYIEMIqqcXSTDuxupSpwhoeSg30/lG94D4MFnQNwETWJ/cXWa9nfSXeAAqu8TqANd 4NFaEd+rmNK8quu94YjOt0PcHX8s3EGKbs/8yuN/301QUi9IBUajZXsPpTY7tQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1651649460; a=rsa-sha256; cv=none; b=Mz9L5Ji+0H2Z9bqFBx/Mvr5Dk+lGcMIijejLyEPMfjVlc1DUSuT8Dey3rrvB49y2ywxudQ tL+nRaRqKQOUay9UEp9qcQK8JSTcWWAwHfOJtqplrvg/UM+1dja6IQTYV+Mvj0QfunC4Zu rp+kNhx+g77mi0+evYzIidfRl2bgaeKmHsfD/a3fyEtKwVKkQizASl0C6tYaSQXHGJCai8 t+fRXo0mpgwmW+JtY+kEXHwhynAgyi6hJ+Y0ZR6aWFFQt7vTOsJzuq56/Q3KHO9YQXiVwP YBOOpm3bDVLbAzwyh45QhcPeQUHP8tc5OukOyD+W+AsXdjb2M5YWhPtKn99ZSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch stable/11 has been updated by hselasky: URL: https://cgit.FreeBSD.org/src/commit/?id=a1ec8baee5dd0cb8e344ab0e2feafcf49f4a802a commit a1ec8baee5dd0cb8e344ab0e2feafcf49f4a802a Author: Hans Petter Selasky AuthorDate: 2022-05-03 16:09:17 +0000 Commit: Hans Petter Selasky CommitDate: 2022-05-04 07:30:07 +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. Tested by: ehaupt@ PR: 262882 Sponsored by: NVIDIA Networking (cherry picked from commit e276d281503160ba3648bd394cde95736ee53329) --- 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 f71062059653..17fcc3ee09cf 100644 --- a/sys/dev/usb/controller/xhci.c +++ b/sys/dev/usb/controller/xhci.c @@ -3932,9 +3932,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 "