Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Nov 2018 08:25:45 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r340212 - head/sys/dev/usb/controller
Message-ID:  <201811070825.wA78Pj6m036856@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Wed Nov  7 08:25:44 2018
New Revision: 340212
URL: https://svnweb.freebsd.org/changeset/base/340212

Log:
  Sometimes the complete split packet may be queued too early and the
  transaction translator will return a NAK. Ignore this message and
  retry the complete split instead.
  
  MFC after:		3 days
  Sponsored by:		Mellanox Technologies

Modified:
  head/sys/dev/usb/controller/dwc_otg.c

Modified: head/sys/dev/usb/controller/dwc_otg.c
==============================================================================
--- head/sys/dev/usb/controller/dwc_otg.c	Wed Nov  7 06:29:01 2018	(r340211)
+++ head/sys/dev/usb/controller/dwc_otg.c	Wed Nov  7 08:25:44 2018	(r340212)
@@ -1432,6 +1432,19 @@ dwc_otg_host_data_rx(struct dwc_otg_softc *sc, struct 
 					goto receive_pkt;
 				}
 			} else if (td->ep_type == UE_ISOCHRONOUS) {
+				if (td->hcsplt != 0) {
+					/*
+					 * Sometimes the complete
+					 * split packet may be queued
+					 * too early and the
+					 * transaction translator will
+					 * return a NAK. Ignore
+					 * this message and retry the
+					 * complete split instead.
+					 */
+					DPRINTF("Retrying complete split\n");
+					goto receive_pkt;
+				}
 				goto complete;
 			}
 			td->did_nak = 1;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811070825.wA78Pj6m036856>