|
@@ -132,7 +132,9 @@ static int uvcg_video_ep_queue(struct uvc_video *video, struct usb_request *req)
|
|
ret = usb_ep_queue(video->ep, req, GFP_ATOMIC);
|
|
ret = usb_ep_queue(video->ep, req, GFP_ATOMIC);
|
|
if (ret < 0) {
|
|
if (ret < 0) {
|
|
printk(KERN_INFO "Failed to queue request (%d).\n", ret);
|
|
printk(KERN_INFO "Failed to queue request (%d).\n", ret);
|
|
- usb_ep_set_halt(video->ep);
|
|
|
|
|
|
+ /* Isochronous endpoints can't be halted. */
|
|
|
|
+ if (usb_endpoint_xfer_bulk(video->ep->desc))
|
|
|
|
+ usb_ep_set_halt(video->ep);
|
|
}
|
|
}
|
|
|
|
|
|
return ret;
|
|
return ret;
|