Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Oct 2009 18:37:16 +0000 (UTC)
From:      Andrew Thompson <thompsa@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/dev/usb/controller ehci.c
Message-ID:  <200910011837.n91IbZ85052800@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
thompsa     2009-10-01 18:37:16 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/usb/controller ehci.c 
  Log:
  SVN rev 197682 on 2009-10-01 18:37:16Z by thompsa
  
  EHCI Hardware BUG workaround
  
  The EHCI HW can use the qtd_next field instead of qtd_altnext when a short
  packet is received. This contradicts what is stated in the EHCI datasheet.
  Also the total-bytes field in the status field of the following TD gets
  corrupted upon reception of a short packet!  We work this around in software by
  not queueing more than one job/TD at a time of up to 16Kbytes! The bug has been
  seen on multiple INTEL based EHCI chips.  Other vendors have not been tested
  yet.
  
  - Applications using /dev/usb/X.Y.Z, where Z is non-zero are affected, but not
    applications using LibUSB v0.1, v1.2 and v2.0.
  - Mass Storage (umass) is affected.
  
  Submitted by:   Hans Petter Selasky
  MFC after:      3 days
  
  Revision  Changes    Path
  1.28      +57 -21    src/sys/dev/usb/controller/ehci.c



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