PERFORCE change 130746 for review
Hans Petter Selasky
hselasky at FreeBSD.org
Wed Dec 12 14:52:35 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=130746
Change 130746 by hselasky at hselasky_laptop001 on 2007/12/12 22:52:00
Neither of OHCI, UHCI or EHCI supports USB device mode.
Check for that when setting up pipes.
Affected files ...
.. //depot/projects/usb/src/sys/dev/usb/ehci.c#61 edit
.. //depot/projects/usb/src/sys/dev/usb/ohci.c#50 edit
.. //depot/projects/usb/src/sys/dev/usb/uhci.c#51 edit
Differences ...
==== //depot/projects/usb/src/sys/dev/usb/ehci.c#61 (text+ko) ====
@@ -3924,10 +3924,15 @@
{
ehci_softc_t *sc = EHCI_BUS2SC(udev->bus);
- DPRINTFN(1, ("pipe=%p, addr=%d, endpt=%d (%d)\n",
+ DPRINTFN(1, ("pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n",
pipe, udev->address,
- edesc->bEndpointAddress, sc->sc_addr));
+ edesc->bEndpointAddress, udev->flags.usb_mode,
+ sc->sc_addr));
+ if (udev->flags.usb_mode != USB_MODE_HOST) {
+ /* not supported */
+ return;
+ }
if (udev->address == sc->sc_addr) {
switch (edesc->bEndpointAddress) {
case USB_CONTROL_ENDPOINT:
==== //depot/projects/usb/src/sys/dev/usb/ohci.c#50 (text+ko) ====
@@ -2842,10 +2842,15 @@
{
ohci_softc_t *sc = OHCI_BUS2SC(udev->bus);
- DPRINTFN(1, ("pipe=%p, addr=%d, endpt=%d (%d)\n",
+ DPRINTFN(1, ("pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n",
pipe, udev->address,
- edesc->bEndpointAddress, sc->sc_addr));
+ edesc->bEndpointAddress, udev->flags.usb_mode,
+ sc->sc_addr));
+ if (udev->flags.usb_mode != USB_MODE_HOST) {
+ /* not supported */
+ return;
+ }
if (udev->address == sc->sc_addr) {
switch (edesc->bEndpointAddress) {
case USB_CONTROL_ENDPOINT:
==== //depot/projects/usb/src/sys/dev/usb/uhci.c#51 (text+ko) ====
@@ -3332,10 +3332,15 @@
{
uhci_softc_t *sc = UHCI_BUS2SC(udev->bus);
- DPRINTFN(1, ("pipe=%p, addr=%d, endpt=%d (%d)\n",
+ DPRINTFN(1, ("pipe=%p, addr=%d, endpt=%d, mode=%d (%d)\n",
pipe, udev->address,
- edesc->bEndpointAddress, sc->sc_addr));
+ edesc->bEndpointAddress, udev->flags.usb_mode,
+ sc->sc_addr));
+ if (udev->flags.usb_mode != USB_MODE_HOST) {
+ /* not supported */
+ return;
+ }
if (udev->address == sc->sc_addr) {
switch (edesc->bEndpointAddress) {
case USB_CONTROL_ENDPOINT:
More information about the p4-projects
mailing list