Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Jun 2013 10:54:47 +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: r251249 - head/sys/dev/usb/controller
Message-ID:  <201306021054.r52Asltk028898@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: hselasky
Date: Sun Jun  2 10:54:47 2013
New Revision: 251249
URL: http://svnweb.freebsd.org/changeset/base/251249

Log:
  Don't set the start ISOC ASAP bit for non-isochronous TRBs.
  
  MFC after:	1 week

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

Modified: head/sys/dev/usb/controller/xhci.c
==============================================================================
--- head/sys/dev/usb/controller/xhci.c	Sun Jun  2 10:35:08 2013	(r251248)
+++ head/sys/dev/usb/controller/xhci.c	Sun Jun  2 10:54:47 2013	(r251249)
@@ -1700,14 +1700,17 @@ restart:
 
 			dword = XHCI_TRB_3_CHAIN_BIT | XHCI_TRB_3_CYCLE_BIT |
 			  XHCI_TRB_3_TYPE_SET(temp->trb_type) |
-			  (temp->do_isoc_sync ?
-			   XHCI_TRB_3_FRID_SET(temp->isoc_frame / 8) :
-			   XHCI_TRB_3_ISO_SIA_BIT) |
 			  XHCI_TRB_3_TBC_SET(temp->tbc) |
 			  XHCI_TRB_3_TLBPC_SET(temp->tlbpc);
 
-			temp->do_isoc_sync = 0;
-
+			if (temp->trb_type == XHCI_TRB_TYPE_ISOCH) {
+				if (temp->do_isoc_sync != 0) {
+					temp->do_isoc_sync = 0;
+					dword |= XHCI_TRB_3_FRID_SET(temp->isoc_frame / 8);
+				} else {
+					dword |= XHCI_TRB_3_ISO_SIA_BIT;
+				}
+			}
 			if (temp->direction == UE_DIR_IN) {
 				dword |= XHCI_TRB_3_DIR_IN;
 



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