Allow slow USB devices to be given more time to return their USB descriptors,

like Logitech HD Pro Webcam C920.

PR:		248926
MFC after:	1 week
Sponsored by:	Mellanox Technologies
This commit is contained in:
Hans Petter Selasky 2020-08-28 19:21:11 +00:00
parent 6dfd7f4bc9
commit 2dea6902a9
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=364932

View File

@ -721,7 +721,8 @@ usbd_do_request_flags(struct usb_device *udev, struct mtx *mtx,
case USB_ERR_CANCELLED:
break;
default:
DPRINTF("I/O error - waiting a bit for TT cleanup\n");
DPRINTF("error=%s - waiting a bit for TT cleanup\n",
usbd_errstr(err));
usb_pause_mtx(mtx, hz / 16);
break;
}
@ -1010,7 +1011,7 @@ usbd_req_get_desc(struct usb_device *udev,
USETW(req.wLength, min_len);
err = usbd_do_request_flags(udev, mtx, &req,
desc, 0, NULL, 500 /* ms */);
desc, 0, NULL, 1000 /* ms */);
if (err != 0 && err != USB_ERR_TIMEOUT &&
min_len != max_len) {
@ -1021,7 +1022,7 @@ usbd_req_get_desc(struct usb_device *udev,
USETW(req.wLength, max_len);
err = usbd_do_request_flags(udev, mtx, &req,
desc, USB_SHORT_XFER_OK, NULL, 500 /* ms */);
desc, USB_SHORT_XFER_OK, NULL, 1000 /* ms */);
if (err == 0) {
/* verify length */