summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/uhci.c
diff options
context:
space:
mode:
authorjoe <joe@FreeBSD.org>2002-01-03 00:46:47 +0000
committerjoe <joe@FreeBSD.org>2002-01-03 00:46:47 +0000
commitdbd23c04de506031db8bfe19c45f14c9898766f3 (patch)
tree6a5f0925e27988d54384fcf1446c31d4db95983e /sys/dev/usb/uhci.c
parentfe44d3773b9870055a264ca6a12df6616cece28e (diff)
downloadFreeBSD-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.c18
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);
OpenPOWER on IntegriCloud