diff options
author | joe <joe@FreeBSD.org> | 2002-01-03 00:46:47 +0000 |
---|---|---|
committer | joe <joe@FreeBSD.org> | 2002-01-03 00:46:47 +0000 |
commit | dbd23c04de506031db8bfe19c45f14c9898766f3 (patch) | |
tree | 6a5f0925e27988d54384fcf1446c31d4db95983e /sys/dev/usb/uhci.c | |
parent | fe44d3773b9870055a264ca6a12df6616cece28e (diff) | |
download | FreeBSD-src-dbd23c04de506031db8bfe19c45f14c9898766f3.zip FreeBSD-src-dbd23c04de506031db8bfe19c45f14c9898766f3.tar.gz |
Merge from NetBSD:
date: 2001/08/06 15:15:08; author: augustss; state: Exp;
Don't write back status bits that are cleared when written.
Diffstat (limited to 'sys/dev/usb/uhci.c')
-rw-r--r-- | sys/dev/usb/uhci.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c index 27ae977..38ff05b 100644 --- a/sys/dev/usb/uhci.c +++ b/sys/dev/usb/uhci.c @@ -2782,27 +2782,27 @@ uhci_root_ctrl_start(usbd_xfer_handle xfer) } switch(value) { case UHF_PORT_ENABLE: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x & ~UHCI_PORTSC_PE); break; case UHF_PORT_SUSPEND: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x & ~UHCI_PORTSC_SUSP); break; case UHF_PORT_RESET: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x & ~UHCI_PORTSC_PR); break; case UHF_C_PORT_CONNECTION: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x | UHCI_PORTSC_CSC); break; case UHF_C_PORT_ENABLE: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x | UHCI_PORTSC_POEDC); break; case UHF_C_PORT_OVER_CURRENT: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x | UHCI_PORTSC_OCIC); break; case UHF_C_PORT_RESET: @@ -2908,15 +2908,15 @@ uhci_root_ctrl_start(usbd_xfer_handle xfer) } switch(value) { case UHF_PORT_ENABLE: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x | UHCI_PORTSC_PE); break; case UHF_PORT_SUSPEND: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x | UHCI_PORTSC_SUSP); break; case UHF_PORT_RESET: - x = UREAD2(sc, port); + x = URWMASK(UREAD2(sc, port)); UWRITE2(sc, port, x | UHCI_PORTSC_PR); usb_delay_ms(&sc->sc_bus, USB_PORT_ROOT_RESET_DELAY); UWRITE2(sc, port, x & ~UHCI_PORTSC_PR); |