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:
parent
6dfd7f4bc9
commit
2dea6902a9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=364932
@ -721,7 +721,8 @@ usbd_do_request_flags(struct usb_device *udev, struct mtx *mtx,
|
|||||||
case USB_ERR_CANCELLED:
|
case USB_ERR_CANCELLED:
|
||||||
break;
|
break;
|
||||||
default:
|
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);
|
usb_pause_mtx(mtx, hz / 16);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1010,7 +1011,7 @@ usbd_req_get_desc(struct usb_device *udev,
|
|||||||
USETW(req.wLength, min_len);
|
USETW(req.wLength, min_len);
|
||||||
|
|
||||||
err = usbd_do_request_flags(udev, mtx, &req,
|
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 &&
|
if (err != 0 && err != USB_ERR_TIMEOUT &&
|
||||||
min_len != max_len) {
|
min_len != max_len) {
|
||||||
@ -1021,7 +1022,7 @@ usbd_req_get_desc(struct usb_device *udev,
|
|||||||
USETW(req.wLength, max_len);
|
USETW(req.wLength, max_len);
|
||||||
|
|
||||||
err = usbd_do_request_flags(udev, mtx, &req,
|
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) {
|
if (err == 0) {
|
||||||
/* verify length */
|
/* verify length */
|
||||||
|
Loading…
Reference in New Issue
Block a user