Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Dec 2002 10:47:39 -0800 (PST)
From:      Matt Dillon <dillon@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/usb ohci.c
Message-ID:  <200212201847.gBKIldGZ071133@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
dillon      2002/12/20 10:47:39 PST

  Modified files:
    sys/dev/usb          ohci.c 
  Log:
  Fix two bugs in the DMA chaining code for OHCI.  The first bug is that
  the dataphysend calculation could only possibly work if the virtual buffer
  is also physically contiguous.  Calculate dataphysend by calculating the
  ending virtual address first, then converting to a physical address.
  
  The second bug applies only to NetBSD and OpenBSD and involves the curlen
  calculation in the two-contiguous-physical-pages case (which we don't support).
  
  Also cleanup the use of the OHIC_PAGE() macro on dataphysend and add a panic
  if len goes negative (meaning we lost the physical page translation
  representing the end of the buffer).
  
  IMHO the dataphysend is still bokered since it might be misrepresented
  by shared userland page mappings.  The whole section needs to be rewritten
  to use the virtual address range.
  
  MFC after:      3 days
  
  Revision  Changes    Path
  1.117     +9 -5      src/sys/dev/usb/ohci.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




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