aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/usb/usb_request.c
diff options
context:
space:
mode:
authorHans Petter Selasky <hselasky@FreeBSD.org>2010-12-07 08:20:20 +0000
committerHans Petter Selasky <hselasky@FreeBSD.org>2010-12-07 08:20:20 +0000
commit0e777d84572d1c3e216f75d960f4957ae5fa5148 (patch)
treef210ccfdd08e7cf4c7237f40c5b62d7870ccf835 /sys/dev/usb/usb_request.c
parentf353f2486712d71c9be1fc0ee74c8dda2a8236a2 (diff)
downloadsrc-0e777d84572d1c3e216f75d960f4957ae5fa5148.tar.gz
src-0e777d84572d1c3e216f75d960f4957ae5fa5148.zip
Re-add a status check which sneaked out during r214804.
This change can fix some USB error messages showing up during bootup. MFC after: 3 days Approved by: thompsa (mentor)
Notes
Notes: svn path=/head/; revision=216249
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 60767388dc58..293c4bfc81f0 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;