提交 38db3716 编写于 作者: M Michael Grzeschik 提交者: Greg Kroah-Hartman

usb: gadget: uvc: test if ep->desc is valid on ep_queue

The reason that the ep_queue has failed could be a disabled endpoint.
In that case it is not guaranteed that the ep->desc is still valid.
This patch adds a check for NULL.
Reviewed-by: NLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: NPaul Elder <paul.elder@ideasonboard.com>
Signed-off-by: NMichael Grzeschik <m.grzeschik@pengutronix.de>
Link: https://lore.kernel.org/r/20211017215017.18392-4-m.grzeschik@pengutronix.deSigned-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 e6bab2b6
...@@ -199,10 +199,13 @@ static int uvcg_video_ep_queue(struct uvc_video *video, struct usb_request *req) ...@@ -199,10 +199,13 @@ static int uvcg_video_ep_queue(struct uvc_video *video, struct usb_request *req)
uvcg_err(&video->uvc->func, "Failed to queue request (%d).\n", uvcg_err(&video->uvc->func, "Failed to queue request (%d).\n",
ret); ret);
/* If the endpoint is disabled the descriptor may be NULL. */
if (video->ep->desc) {
/* Isochronous endpoints can't be halted. */ /* Isochronous endpoints can't be halted. */
if (usb_endpoint_xfer_bulk(video->ep->desc)) if (usb_endpoint_xfer_bulk(video->ep->desc))
usb_ep_set_halt(video->ep); usb_ep_set_halt(video->ep);
} }
}
return ret; return ret;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册