From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 85C4B443AB1 for ; Tue, 4 Aug 2026 10:04:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785837844; cv=none; b=QMpSSAdJsF0PP9Hqmmcc5Wr5CeBo5PJ9K9/rT53/ZUrdpISTj50KdN8JrUJa/IB1YfzERzT+Ztbn4TE/CCEI0Sc3wa1lHo2L9auLiiR8ZNAw27oSfHp9aFgxkFzyDpTv28u/X5bEQk/RVfXlq8TZBrqYB/2rYBE9xf71DwYyfkU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785837844; c=relaxed/simple; bh=V5RWXyjpVGh3i0A+4CrqmjGtiyY6FHhADkCnDHoo5LE=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=uOFecYwNZhYE776vcUI801U+8c4SMneItBe9rmXsF/ipZtJDd2mOeO+VnR3/xmISgeMoV9yarIV4KagWRt/OBQiOFYyJGI3b0UP3ii88Xw3AxHpY1hv8VJnKit1imFS1nBCtKg3EO/miIO+f15XS/9Yl/OPm9REnOc0RACAgEWE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=gEJ78mo0; arc=none smtp.client-ip=209.85.221.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gEJ78mo0" Received: by mail-wr1-f44.google.com with SMTP id ffacd0b85a97d-472326ca506so3057732f8f.2 for ; Tue, 04 Aug 2026 03:04:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785837840; x=1786442640; darn=vger.kernel.org; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=g5sbX7LPbmxKznY3becilAKwjNokPaVAppuK6EGQWgc=; b=gEJ78mo0Wk6/V0h43f0Jf319a07aSgL0/aOjrMdAxVZq07t9BRhXTiLhgkNnBnmn1G /b1klYK6DE8mPnH/t+f6eQtiMJVoikneHhNpVjc/zTs2WHKBtd7mgZ5uOg/pky47F6Zs C6aH8wRckp2ZJ23L5ue9asrmbu2jWyI4yGAo5bOnF01+UROoVC+H5VtT2eluW1iieN+5 p8gNgoYAxtKH2yNLzew5Ic12GPPYtog+qVrvPOKebufN2BiKglbhm3iDF9UESA/z4/Qz 9aMbSAiZMHVzzrRIJXJzoycZtsi4icEgPJtS1XzQ5DMYkaCvQl5Xcc2b9Eyv4DuliBi/ w1cA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785837840; x=1786442640; h=content-transfer-encoding:content-type:mime-version:references :in-reply-to:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=g5sbX7LPbmxKznY3becilAKwjNokPaVAppuK6EGQWgc=; b=MYLox7uxAFBRaq/jzMlQVvK8DzELbytQup0sWaCq5h0/mVZyU3bCPeJInyBOSYfmJl HhGmYYOyg23maOT7en5GIBEGgNOYiRWXUS5sVjuHRXm8TYZeGzLQ4lG2MSLV4yf7xQEA od8pNr/AZzPQdPUBLLvxyhUJAoWlFnPPlkb8s1A1r/1ZzHxZrXoSqgaBf1218tal05ID nD5hgAIUNvSxKV93khvcIeP5LVry5FOAqEGUzKHXw8PLemunb/jJOkoLUk/07ML+ocYy eX1v1H2/hDwDFfucQZ1BiFdX+DGjqhDqcMNVW7GLm/hbY8SoBUdjb98nUY9fM24kEXpi 2ZFg== X-Forwarded-Encrypted: i=1; AHgh+Rp9vQ+41FaIsCA0+O2aYTYcszkdAVUW+3/76Q9Iqsvk3zA5WlNnybd3KwMpdUk7uf7XaadjaPB3x63aAZE=@vger.kernel.org X-Gm-Message-State: AOJu0YxMLcmtm1y1GYKyIDeeqqI8ByUMs2ZsXRAigUmVMN2y5wr/gEYW g4IawPOqDyaUcKp28W/lD9r/DH1hXeXPXB0L7J4e9Ce9KiZmAyU8ptdVLVi85Q== X-Gm-Gg: AR+sD13Q+FRob+z/2jTDcvgDuEQvn/2tniXKr6JtQEjkG1NPrKbCqWZTsBkgOaif00G qdpi3gO6TnfXq+dVyNEMV5th83NKuDMkaGou+GdYVReF/chb0Wymkc85U4jhneuRRowRnrEDs5e Wk7aVV1TUppK+F+QloDLCfBfn9HZORPw06VneM82sfX//iU86fGnEEK47exrJCvniedAZURPbHC VzfYFRbFtqwnRn1I33KF4iL2tF82wI6+kG+3aVWa7VzNLCqxAlxXZZpPNfZlI5gnsQbgp+MSgcH g4rtX/BSeCpc0m6PB08hQucQoUNSfFH7guBzYUJchLzDLBDpxDzEZAxTWZgfjsBWh0IDCMz9xu8 4WuHYFy5tFQj4SXujN/QOmtTW7kmXqVxC5ALfx+e9h9Ebd7GBvuhjdcDCfN3INWDZbYjux3NbiH Ua+jd83nf9K4nJg7FKpGaw2mIJlK57wTSdcw48AjF7aHE1+SPnH2kMLmhJWhoYn/+kkJZEI/qp X-Received: by 2002:a05:600c:3b99:b0:498:519:e660 with SMTP id 5b1f17b1804b1-4980c66d8b0mr317127735e9.4.1785837840308; Tue, 04 Aug 2026 03:04:00 -0700 (PDT) Received: from foxbook (bgt135.neoplus.adsl.tpnet.pl. [83.28.83.135]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49949fd8919sm69114595e9.8.2026.08.04.03.03.59 (version=TLS1_2 cipher=AES128-SHA bits=128/128); Tue, 04 Aug 2026 03:04:00 -0700 (PDT) Date: Tue, 4 Aug 2026 12:03:56 +0200 From: Michal Pecio To: Mathias Nyman , Greg Kroah-Hartman Cc: Bart Nagel , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/5] usb: xhci: Don't set the skip flag on non-isoc endpoints Message-ID: <20260804120356.470fab4b.michal.pecio@gmail.com> In-Reply-To: <20260804120110.01bda0e2.michal.pecio@gmail.com> References: <20260804120110.01bda0e2.michal.pecio@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit These events are unique to isochronous endpoints, ignore them otherwise. Update debug messages to reflect new policies. We could also log invalid events as errors, but it seems nobody has ever had problems with that, so don't bother. This allows dropping the isoc check when skipping TDs. Signed-off-by: Michal Pecio --- drivers/usb/host/xhci-ring.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index 8eed56b72c30..8270c63ec3bf 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -2759,16 +2759,18 @@ static int handle_tx_event(struct xhci_hcd *xhci, * Set skip flag of the ep_ring; Complete the missed tds as * short transfer when process the ep_ring next time. */ - ep->skip = true; + if (ep_ring->type == TYPE_ISOC) + ep->skip = true; xhci_dbg(xhci, - "Miss service interval error for slot %u ep %u, set skip flag%s\n", - slot_id, ep_index, ep_trb_dma ? ", skip now" : ""); + "Missed Service Error for slot %u ep %u, skip %d, try now %d\n", + slot_id, ep_index, ep->skip, !!ep_trb_dma); break; case COMP_NO_PING_RESPONSE_ERROR: - ep->skip = true; + if (ep_ring->type == TYPE_ISOC) + ep->skip = true; xhci_dbg(xhci, - "No Ping response error for slot %u ep %u, Skip one Isoc TD\n", - slot_id, ep_index); + "No Ping response error for slot %u ep %u, skip %d\n", + slot_id, ep_index, ep->skip); return 0; case COMP_INCOMPATIBLE_DEVICE_ERROR: @@ -2844,7 +2846,7 @@ static int handle_tx_event(struct xhci_hcd *xhci, /* Is this TRB not part of the currently executing TD? */ if (!trb_in_td(td, ep_trb_dma)) { - if (ep->skip && usb_endpoint_xfer_isoc(&td->urb->ep->desc)) { + if (ep->skip) { /* this event is unlikely to match any TD, don't skip them all */ if (trb_comp_code == COMP_STOPPED_LENGTH_INVALID) return 0; -- 2.48.1