From patchwork Fri Sep 16 10:00:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Utkin X-Patchwork-Id: 37130 Received: from mail.tu-berlin.de ([130.149.7.33]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bkpxj-0000Xo-7E; Fri, 16 Sep 2016 10:01:39 +0000 X-tubIT-Incoming-IP: 209.132.180.67 Received: from vger.kernel.org ([209.132.180.67]) by mail.tu-berlin.de (exim-4.84_2/mailfrontend-8) with esmtp id 1bkpxh-00040b-jy; Fri, 16 Sep 2016 12:01:39 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753002AbcIPKBW (ORCPT + 1 other); Fri, 16 Sep 2016 06:01:22 -0400 Received: from out2-smtp.messagingengine.com ([66.111.4.26]:49551 "EHLO out2-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757933AbcIPKBP (ORCPT ); Fri, 16 Sep 2016 06:01:15 -0400 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 6E8002069A; Fri, 16 Sep 2016 06:01:13 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute7.internal (MEProxy); Fri, 16 Sep 2016 06:01:13 -0400 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.com; h=cc :date:from:in-reply-to:message-id:references:subject:to :x-sasl-enc:x-sasl-enc; s=mesmtp; bh=svT/7llN9HblchkaqBcwBXHnK/I =; b=zyLeIOyRMwT0bUEvn3t9yGEwQPlIVmJJSO58dbv3u+MxJAThRqDZz3JN1/5 PB/GE1P5A2HCfduk50LZAL3HBeVAdm5F4AxlQBdZeHzFcgMSgumooiPzL9lWizvh HN8PGJg5XFnKHG9aJz3w730tT/sgyggzD0qTg3pSHNbdRkyI= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-sasl-enc:x-sasl-enc; s=smtpout; bh=svT/ 7llN9HblchkaqBcwBXHnK/I=; b=Zs3ggL3GCdPis4pAvvhWM8qHvCLPOSvNimKW YhaI0mLmq0xz2Pe9WKj1gkx90scfHUbJRTE61zhP+QG9ga5iQtHFOY7Ot4/cObDw B1+EYM5h69A9VfHIGzmSd65CewF9h8OQlAkTV+wc+ME6tI4Msncp7QeZVLFqHefg vH0jp78= X-Sasl-enc: wD3KfVuf5IKp+AKHF/wnSaQ9OLhYMuOH3XAx1gAG01Ct 1474020072 Received: from localhost.localdomain (unknown [91.198.4.228]) by mail.messagingengine.com (Postfix) with ESMTPA id 71A17CCE9F; Fri, 16 Sep 2016 06:01:12 -0400 (EDT) From: Andrey Utkin To: linux-media@vger.kernel.org, pmhahn+video@pmhahn.de Cc: hverkuil@xs4all.nl, Andrey Utkin Subject: [PATCH] Potential fix for "[BUG] process stuck when closing saa7146 [dvb_ttpci]" Date: Fri, 16 Sep 2016 13:00:28 +0300 Message-Id: <20160916100028.8856-1-andrey_utkin@fastmail.com> X-Mailer: git-send-email 2.9.2 In-Reply-To: <20160911133317.whw3j2pok4sktkeo@pmhahn.de> References: <20160911133317.whw3j2pok4sktkeo@pmhahn.de> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-PMX-Version: 6.0.0.2142326, Antispam-Engine: 2.7.2.2107409, Antispam-Data: 2016.9.16.95417 X-PMX-Spam: Gauge=IIIIIIII, Probability=8%, Report=' MULTIPLE_RCPTS 0.1, HTML_00_01 0.05, HTML_00_10 0.05, BODYTEXTP_SIZE_3000_LESS 0, BODY_SIZE_1200_1299 0, BODY_SIZE_2000_LESS 0, BODY_SIZE_5000_LESS 0, BODY_SIZE_7000_LESS 0, DKIM_SIGNATURE 0, IN_REP_TO 0, LEGITIMATE_NEGATE 0, LEGITIMATE_SIGNS 0, MSG_THREAD 0, NO_URI_HTTPS 0, REFERENCES 0, SINGLE_URI_IN_BODY 0, URI_ENDS_IN_HTML 0, __ANY_URI 0, __CC_NAME 0, __CC_NAME_DIFF_FROM_ACC 0, __CC_REAL_NAMES 0, __CP_MEDIA_BODY 0, __CP_URI_IN_BODY 0, __DATE_TZ_RU 0, __FRAUD_WEBMAIL 0, __FRAUD_WEBMAIL_FROM 0, __FROM_DOMAIN_IN_ANY_CC2 0, __FROM_DOMAIN_IN_RCPT 0, __HAS_CC_HDR 0, __HAS_FROM 0, __HAS_MSGID 0, __HAS_X_MAILER 0, __HAS_X_MAILING_LIST 0, __IN_REP_TO 0, __MIME_TEXT_ONLY 0, __MULTIPLE_RCPTS_CC_X2 0, __PHISH_SPEAR_STRUCTURE_1 0, __REFERENCES 0, __SANE_MSGID 0, __SINGLE_URI_TEXT 0, __TO_MALFORMED_2 0, __TO_NO_NAME 0, __URI_IN_BODY 0, __URI_NO_WWW 0, __URI_NS , __URI_WITH_PATH 0' Hi Philipp, Please try this patch. It is purely speculative as I don't have the hardware, but I hope my approach is right. Tested-by: Philipp Matthias Hahn --- drivers/media/common/saa7146/saa7146_video.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/media/common/saa7146/saa7146_video.c b/drivers/media/common/saa7146/saa7146_video.c index ea2f3bf..93c64f0 100644 --- a/drivers/media/common/saa7146/saa7146_video.c +++ b/drivers/media/common/saa7146/saa7146_video.c @@ -390,6 +390,7 @@ static int video_end(struct saa7146_fh *fh, struct file *file) { struct saa7146_dev *dev = fh->dev; struct saa7146_vv *vv = dev->vv_data; + struct saa7146_dmaqueue *q = &vv->video_dmaq; struct saa7146_format *fmt = NULL; unsigned long flags; unsigned int resource; @@ -428,6 +429,9 @@ static int video_end(struct saa7146_fh *fh, struct file *file) /* shut down all used video dma transfers */ saa7146_write(dev, MC1, dmas); + if(q->curr) + saa7146_buffer_finish(dev, q, VIDEOBUF_DONE); + spin_unlock_irqrestore(&dev->slock, flags); vv->video_fh = NULL;