Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp1121739ybe; Fri, 13 Sep 2019 11:21:38 -0700 (PDT) X-Google-Smtp-Source: APXvYqwpktD5KP32hVHmh2znDf31hl9y7ipn30jtMi9FxcP8GcN1ZAiF0P6nno3+opczD0X/Krc9 X-Received: by 2002:a17:907:20eb:: with SMTP id rh11mr4285652ejb.25.1568398898146; Fri, 13 Sep 2019 11:21:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568398898; cv=none; d=google.com; s=arc-20160816; b=j1Usrn+acVPPoqxg00+fmj/wc+PhCY+EasRD+uYkpuYpZna5IHLI/3tHZ9PLQiBz9u yYX+H2BBuOXYFTl/wETDc3zlqIKED6Wt0zqAVh/sFO2T3iB7CBXFiPH27Wsg/rrquYuI HEnJUMgGc3Wrumlu6R9oavVFrvASyCXneLZ71hVIaX2i0YdfJ9YuMKBwoSzwX5V9OjIr f06oFHdRyW+RDuUsCXFA6IEeBnfLDg/gj/DIrpY56ANA2CEqYor5Svd8K02eRMP7ygjc 2+UNGIxNa8x+Pq6bDpgciL3udg1Z1SczgcmEYNGV/a3X8rh51jic9sJzjs2UjvVRhjtp 4m0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=wh16OtUharwaLOqo1SGk9v9ogzHtQiak2V3jzIYWYzQ=; b=UKAdfvv6GLVJ1MF4XkUBVJXUAWJ25R1fHhkNCPFMrE5EjhJ20cpMRym5gMVS13WMq0 MAf1Eue+jXqdOClm2qp0yKtjTwNTwZizTlbGCOUZcTuzRGgOPM+83J1mbzQp8Q2mUNKq XBDv6uEEJ1ieo/hqbua6V/kCJUSLlqm/fdYbe/cpt9TyKbrCX6FdKwsD+IqSrFiJLwE7 ozQC9pZrJhb6jpxr9Sdoih+mkuVcWYqtv95LJClelZsBz/YYdYCsG78vT5TG4KcY3GgY 52aE8ibkF87lbBOgupmvDUwCF5RNLC/1CLrZF7x2ix+rRJvxHlRQf0gtMlJd2ke3NvQ1 wkNA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dxi3X4U+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v24si16731009edq.156.2019.09.13.11.21.14; Fri, 13 Sep 2019 11:21:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dxi3X4U+; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389707AbfIMNPc (ORCPT + 99 others); Fri, 13 Sep 2019 09:15:32 -0400 Received: from mail.kernel.org ([198.145.29.99]:41742 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388516AbfIMNP2 (ORCPT ); Fri, 13 Sep 2019 09:15:28 -0400 Received: from localhost (unknown [104.132.45.99]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 93F58214AE; Fri, 13 Sep 2019 13:15:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1568380528; bh=vTdVsNPKkUlHm6AOYAvlhxqREr7KE/SfGvR4OKX7EOA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dxi3X4U+xTy2L2XvbDZKuc4zJJZ2oKCuJnUwkEhuq3xbVlAqZ8MT+aXBVOQ6RUXk6 0T2xvo3OkRnCfrM5nSJpYI4FEqJiNcfhy+B/R53ZHe/WoQ2uy/tGgWHiP0inQlhTBo aJiqfi830CLS5oOvXX/ILq4AVbSsJvDsSZIKUmJU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hans Verkuil , Mauro Carvalho Chehab , Sasha Levin Subject: [PATCH 4.19 075/190] media: vim2m: only cancel work if it is for right context Date: Fri, 13 Sep 2019 14:05:30 +0100 Message-Id: <20190913130605.553804911@linuxfoundation.org> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20190913130559.669563815@linuxfoundation.org> References: <20190913130559.669563815@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [ Upstream commit 240809ef6630a4ce57c273c2d79ffb657cd361eb ] cancel_delayed_work_sync() was called for any queue, but it should only be called for the queue that is associated with the currently running job. Otherwise, if two filehandles are streaming at the same time, then closing the first will cancel the work which might still be running for a job from the second filehandle. As a result the second filehandle will never be able to finish the job and an attempt to stop streaming on that second filehandle will stall. Fixes: 52117be68b82 ("media: vim2m: use cancel_delayed_work_sync instead of flush_schedule_work") Signed-off-by: Hans Verkuil Cc: # for v4.20 and up Signed-off-by: Mauro Carvalho Chehab Signed-off-by: Sasha Levin --- drivers/media/platform/vim2m.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/media/platform/vim2m.c b/drivers/media/platform/vim2m.c index de7f9fe7e7cd9..7b8cf661f2386 100644 --- a/drivers/media/platform/vim2m.c +++ b/drivers/media/platform/vim2m.c @@ -801,7 +801,9 @@ static void vim2m_stop_streaming(struct vb2_queue *q) struct vb2_v4l2_buffer *vbuf; unsigned long flags; - cancel_delayed_work_sync(&dev->work_run); + if (v4l2_m2m_get_curr_priv(dev->m2m_dev) == ctx) + cancel_delayed_work_sync(&dev->work_run); + for (;;) { if (V4L2_TYPE_IS_OUTPUT(q->type)) vbuf = v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx); -- 2.20.1