summaryrefslogtreecommitdiff
path: root/sys/dev/usb/ehci.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2008-05-15 08:10:04 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2008-05-15 08:10:04 +0000
commit5d4cd9711770dddaa9ad9f2af9aba5495fd66459 (patch)
treebcd06b4e40d9d2d0752a0d86906da18454349edf /sys/dev/usb/ehci.c
parentbc6780f8d74987578717c93c8ffa93163a8efeda (diff)
Avoid clearing the port enable bit when bringing the port out of reset.
Makes the on-board ehci(4) on the Freescale MPC8349E work. ok jsg@
Diffstat (limited to 'sys/dev/usb/ehci.c')
-rw-r--r--sys/dev/usb/ehci.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/dev/usb/ehci.c b/sys/dev/usb/ehci.c
index 992b48c05e4..0b8dbe29f0f 100644
--- a/sys/dev/usb/ehci.c
+++ b/sys/dev/usb/ehci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ehci.c,v 1.78 2008/04/16 16:08:39 mk Exp $ */
+/* $OpenBSD: ehci.c,v 1.79 2008/05/15 08:10:03 kettenis Exp $ */
/* $NetBSD: ehci.c,v 1.66 2004/06/30 03:11:56 mycroft Exp $ */
/*
@@ -1971,7 +1971,8 @@ ehci_root_ctrl_start(usbd_xfer_handle xfer)
goto ret;
}
/* Terminate reset sequence. */
- EOWRITE4(sc, port, v);
+ v = EOREAD4(sc, port);
+ EOWRITE4(sc, port, v & ~EHCI_PS_PR);
/* Wait for HC to complete reset. */
usb_delay_ms(&sc->sc_bus, EHCI_PORT_RESET_COMPLETE);
if (sc->sc_dying) {