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>