From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 975EB31F9A7; Thu, 16 Apr 2026 21:22:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=213.167.242.64 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776374571; cv=none; b=GXbJ4mH3xEV+ctKi1dsp//14Y0w5uV2CekYrlyQ0bj72rCPQVHcI8Ll/fcYaNKGQGBW7xJP4YUGZ9l5Q18GEHgHTUMDQotFFiK8UvnE2rQKcokzb32e0uvLOlnDiP77YUJQgNzcQcYM7aq0q63PNxjFncE3xSEl6dmBkBE/Sm5w= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776374571; c=relaxed/simple; bh=/3zlN1PjzIilwOb1k4qfIqSA7sOgOcPW9cm66Paz/RY=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=NlS2690oWi5QJY0G5hWYbNeMdo61l2pSQ2dB0J5PwP6UWuvBFJFm0B/k5pKJ1Tj+OEMCbWhpB8eyY0I2+2PAM182iyBhqFh/Rtz52SiuwhLLTN4Z21PZXGGkzCH4aqu3PBmpDaq+/aMy5q1allsLgmNJzz5lMxIuI62DKPwlBqM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com; spf=pass smtp.mailfrom=ideasonboard.com; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b=dTQYUx6z; arc=none smtp.client-ip=213.167.242.64 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ideasonboard.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="dTQYUx6z" Received: from killaraus.ideasonboard.com (2001-14ba-703d-e500--2a1.rev.dnainternet.fi [IPv6:2001:14ba:703d:e500::2a1]) by perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id C4BE79C; Thu, 16 Apr 2026 23:21:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1776374475; bh=/3zlN1PjzIilwOb1k4qfIqSA7sOgOcPW9cm66Paz/RY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=dTQYUx6zPuZxh1mwF5/jfFLM13XpqZYgbvmLRLtdpVyQPIeMJY8JVCyVmvClWkIfh Ki7X1Q586GNueuU7J4f8MilFPzHwtcoxT4G6cE6S8siRogVeTPUCSwIFaMjcX4biiR 1qStklNVsCSLJgXZ7WDcZkJGESE4W0ggVC67iN3Q= Date: Fri, 17 Apr 2026 00:22:47 +0300 From: Laurent Pinchart To: Ricardo Ribalda Cc: Hans de Goede , Mauro Carvalho Chehab , Guennadi Liakhovetski , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] media: uvcvideo: Do not open code uvc_queue_get_current_buffer Message-ID: <20260416212247.GE1824072@killaraus.ideasonboard.com> References: <20260415-uvc-meta-partial-v1-0-a0acc79a6300@chromium.org> <20260415-uvc-meta-partial-v1-1-a0acc79a6300@chromium.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <20260415-uvc-meta-partial-v1-1-a0acc79a6300@chromium.org> Hi Ricardo, Thank you for the patch. On Wed, Apr 15, 2026 at 03:59:57PM +0000, Ricardo Ribalda wrote: > Do not re-implement uvc_queue_get_current_buffer() logic inside > uvc_video_complete(), just call the function. > > Signed-off-by: Ricardo Ribalda Reviewed-by: Laurent Pinchart > --- > drivers/media/usb/uvc/uvc_video.c | 10 ++-------- > 1 file changed, 2 insertions(+), 8 deletions(-) > > diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c > index 40c76c051da2..4feb3699f520 100644 > --- a/drivers/media/usb/uvc/uvc_video.c > +++ b/drivers/media/usb/uvc/uvc_video.c > @@ -1693,7 +1693,6 @@ static void uvc_video_complete(struct urb *urb) > struct vb2_queue *vb2_qmeta = stream->meta.queue.vdev.queue; > struct uvc_buffer *buf = NULL; > struct uvc_buffer *buf_meta = NULL; > - unsigned long flags; > int ret; > > switch (urb->status) { > @@ -1719,13 +1718,8 @@ static void uvc_video_complete(struct urb *urb) > > buf = uvc_queue_get_current_buffer(queue); > > - if (vb2_qmeta) { > - spin_lock_irqsave(&qmeta->irqlock, flags); > - if (!list_empty(&qmeta->irqqueue)) > - buf_meta = list_first_entry(&qmeta->irqqueue, > - struct uvc_buffer, queue); > - spin_unlock_irqrestore(&qmeta->irqlock, flags); > - } > + if (vb2_qmeta) > + buf_meta = uvc_queue_get_current_buffer(qmeta); > > /* Re-initialise the URB async work. */ > uvc_urb->async_operations = 0; -- Regards, Laurent Pinchart