Skip to content

Commit

Permalink
Revert "usb: gadget: uvc: stop pump thread on video disable"
Browse files Browse the repository at this point in the history
This reverts commit 3a63f86.

Based on review comments, it was applied too soon and needs more work.

Reported-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20231005081716.GA13853@pendragon.ideasonboard.com
Cc: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  • Loading branch information
Greg Kroah-Hartman committed Oct 5, 2023
1 parent dddc00f commit 1053c4a
Showing 1 changed file with 1 addition and 7 deletions.
8 changes: 1 addition & 7 deletions drivers/usb/gadget/function/uvc_video.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,14 +384,13 @@ static void uvcg_video_pump(struct work_struct *work)
struct uvc_video_queue *queue = &video->queue;
/* video->max_payload_size is only set when using bulk transfer */
bool is_bulk = video->max_payload_size;
struct uvc_device *uvc = video->uvc;
struct usb_request *req = NULL;
struct uvc_buffer *buf;
unsigned long flags;
bool buf_done;
int ret;

while (video->ep->enabled && uvc->state == UVC_STATE_STREAMING) {
while (video->ep->enabled) {
/*
* Retrieve the first available USB request, protected by the
* request lock.
Expand Down Expand Up @@ -489,7 +488,6 @@ static void uvcg_video_pump(struct work_struct *work)
*/
int uvcg_video_enable(struct uvc_video *video, int enable)
{
struct uvc_device *uvc = video->uvc;
unsigned int i;
int ret;

Expand All @@ -500,8 +498,6 @@ int uvcg_video_enable(struct uvc_video *video, int enable)
}

if (!enable) {
uvc->state = UVC_STATE_CONNECTED;

cancel_work_sync(&video->pump);
uvcg_queue_cancel(&video->queue, 0);

Expand All @@ -527,8 +523,6 @@ int uvcg_video_enable(struct uvc_video *video, int enable)
video->encode = video->queue.use_sg ?
uvc_video_encode_isoc_sg : uvc_video_encode_isoc;

uvc->state = UVC_STATE_STREAMING;

video->req_int_count = 0;

queue_work(video->async_wq, &video->pump);
Expand Down

0 comments on commit 1053c4a

Please sign in to comment.