diff options
author | shiba <shiba@FreeBSD.org> | 2004-01-12 14:18:55 +0000 |
---|---|---|
committer | shiba <shiba@FreeBSD.org> | 2004-01-12 14:18:55 +0000 |
commit | 28fa7df8e28cfe56e7ed6d2c420ca714a7787056 (patch) | |
tree | 40040a9f47fb93591cb7c6db7ce2f3c98e745403 | |
parent | 9a454178d89f8764ea922918e4f09fdfb3b9053c (diff) | |
download | FreeBSD-src-28fa7df8e28cfe56e7ed6d2c420ca714a7787056.zip FreeBSD-src-28fa7df8e28cfe56e7ed6d2c420ca714a7787056.tar.gz |
Fix a suspend/resume issue. My Compaq N400c works fine.
-rw-r--r-- | sys/dev/usb/uhci.c | 3 | ||||
-rw-r--r-- | sys/dev/usb/uhci_pci.c | 2 |
2 files changed, 5 insertions, 0 deletions
diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c index 15162f0..d969272 100644 --- a/sys/dev/usb/uhci.c +++ b/sys/dev/usb/uhci.c @@ -724,6 +724,9 @@ uhci_power(int why, void *v) #endif sc->sc_bus.use_polling++; sc->sc_suspend = why; + UWRITE2(sc, UHCI_INTR, 0); /* disable interrupts */ + uhci_globalreset(sc); /* reset the controller */ + uhci_reset(sc); if (cmd & UHCI_CMD_RS) uhci_run(sc, 0); /* in case BIOS has started it */ diff --git a/sys/dev/usb/uhci_pci.c b/sys/dev/usb/uhci_pci.c index 48996f6..b263201 100644 --- a/sys/dev/usb/uhci_pci.c +++ b/sys/dev/usb/uhci_pci.c @@ -166,6 +166,8 @@ uhci_pci_resume(device_t self) { uhci_softc_t *sc = device_get_softc(self); + pci_write_config(self, PCI_LEGSUP, PCI_LEGSUP_USBPIRQDEN, 2); + uhci_power(PWR_RESUME, sc); bus_generic_resume(self); |