Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Apr 2005 20:43:04 +0200
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   usb/79722: wrong alignments in ehci.h
Message-ID:  <200504092043.05488.hselasky@c2i.net>
Resent-Message-ID: <200504091850.j39IoBPF086792@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         79722
>Category:       usb
>Synopsis:       wrong alignments in ehci.h
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    freebsd-usb
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Apr 09 18:50:10 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     HPS
>Release:        FreeBSD 6.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD 6.0-CURRENT FreeBSD 6.0-CURRENT #45: Mon Mar 21 15:40:17 CET 
2005 root@:/usr/obj/usr/src/sys/custom i386

>Description:
>How-To-Repeat:

The EHCI driver currently uses 32-byte alignment for all QH's and TD's. 
This is what the manual says, but the hardware will malfunction if
the structures are not aligned so that it can index without 
performing addition. For example ITD must be aligned to 128-bytes (including 
64-bit extensions) and not 32-bytes.

#define EHCI_ITD_ALIGN 128 /* bytes */
#define EHCI_SITD_ALIGN 64 /* bytes */
#define EHCI_QTD_ALIGN 64 /* bytes */
#define EHCI_QH_ALIGN 128 /* bytes */
#define EHCI_FSTN_ALIGN 32 /* bytes */

>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:


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