diff options
| author | Nick Hibma <n_hibma@FreeBSD.org> | 1999-01-22 00:59:52 +0000 |
|---|---|---|
| committer | Nick Hibma <n_hibma@FreeBSD.org> | 1999-01-22 00:59:52 +0000 |
| commit | ab521a755ebde580015c10a7756e85ee4d3738c5 (patch) | |
| tree | e59ae9a876ac7c2fff8b086a0c2c3d200e3d5cdc /sys/dev | |
| parent | 066f67b1ac5378a13fbaedce92f19b9c0361aab3 (diff) | |
Notes
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/usb/ums.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/dev/usb/ums.c b/sys/dev/usb/ums.c index cc969e43401a7..5e61216971bd9 100644 --- a/sys/dev/usb/ums.c +++ b/sys/dev/usb/ums.c @@ -377,8 +377,10 @@ ums_detach(device_t self) struct ums_softc *sc = device_get_softc(self); char *devinfo = (char *) device_get_desc(self); - usbd_abort_pipe(sc->sc_intrpipe); - usbd_close_pipe(sc->sc_intrpipe); + if (sc->sc_enabled) { + usbd_abort_pipe(sc->sc_intrpipe); + usbd_close_pipe(sc->sc_intrpipe); + } sc->sc_disconnected = 1; DPRINTF(("%s: disconnected\n", USBDEVNAME(self))); @@ -638,6 +640,9 @@ ums_read(dev_t dev, struct uio *uio, int flag) if (error) { splx(s); return error; + } else if (!sc->sc_enabled) { + splx(s); + return EINTR; } } |
