summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usb_request.c
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2010-12-09 22:01:15 +0000
committerdim <dim@FreeBSD.org>2010-12-09 22:01:15 +0000
commita3786f65f1e2fa3a4e925fdb4b2b5544b9021bf9 (patch)
tree5f0a24f71baa3176c75a20a51a9e20a22c75426c /sys/dev/usb/usb_request.c
parentad01c620333d05c430d583ee40647e396be1ab91 (diff)
parent12dd9eb8e940c48f9fc30dbc137071b4fe5caead (diff)
downloadFreeBSD-src-a3786f65f1e2fa3a4e925fdb4b2b5544b9021bf9.zip
FreeBSD-src-a3786f65f1e2fa3a4e925fdb4b2b5544b9021bf9.tar.gz
Sync: merge r216133 through r216338 from ^/head.
Diffstat (limited to 'sys/dev/usb/usb_request.c')
-rw-r--r--sys/dev/usb/usb_request.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/usb/usb_request.c b/sys/dev/usb/usb_request.c
index 60767388..293c4bf 100644
--- a/sys/dev/usb/usb_request.c
+++ b/sys/dev/usb/usb_request.c
@@ -793,6 +793,10 @@ usbd_req_reset_port(struct usb_device *udev, struct mtx *mtx, uint8_t port)
if (err) {
goto done;
}
+ /* if the device disappeared, just give up */
+ if (!(UGETW(ps.wPortStatus) & UPS_CURRENT_CONNECT_STATUS)) {
+ goto done;
+ }
/* check if reset is complete */
if (UGETW(ps.wPortChange) & UPS_C_PORT_RESET) {
break;
OpenPOWER on IntegriCloud