From patchwork Mon Feb 6 12:30:14 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoshihiro Shimoda X-Patchwork-Id: 9557693 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 0675660236 for ; Mon, 6 Feb 2017 12:32:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EC41920373 for ; Mon, 6 Feb 2017 12:32:22 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id E0CF8205A4; Mon, 6 Feb 2017 12:32:22 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A3AEE20564 for ; Mon, 6 Feb 2017 12:32:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751921AbdBFMcV (ORCPT ); Mon, 6 Feb 2017 07:32:21 -0500 Received: from relmlor3.renesas.com ([210.160.252.173]:22611 "EHLO relmlie2.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751468AbdBFMcT (ORCPT ); Mon, 6 Feb 2017 07:32:19 -0500 Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie2.idc.renesas.com with ESMTP; 06 Feb 2017 21:32:17 +0900 Received: from relmlac3.idc.renesas.com (relmlac3.idc.renesas.com [10.200.69.23]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id 56AD76DA9A; Mon, 6 Feb 2017 21:32:17 +0900 (JST) Received: by relmlac3.idc.renesas.com (Postfix, from userid 0) id 47E7418070; Mon, 6 Feb 2017 21:32:17 +0900 (JST) Received: from relmlac3.idc.renesas.com (localhost [127.0.0.1]) by relmlac3.idc.renesas.com (Postfix) with ESMTP id 40BDE1806F; Mon, 6 Feb 2017 21:32:17 +0900 (JST) Received: from relmlii1.idc.renesas.com [10.200.68.65] by relmlac3.idc.renesas.com with ESMTP id XAA27348; Mon, 6 Feb 2017 21:32:17 +0900 X-IronPort-AV: E=Sophos;i="5.33,342,1477926000"; d="scan'208";a="232902525" Received: from mail-sg2apc01lp0247.outbound.protection.outlook.com (HELO APC01-SG2-obe.outbound.protection.outlook.com) ([65.55.88.247]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 06 Feb 2017 21:32:16 +0900 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=renesasgroup.onmicrosoft.com; s=selector1-renesas-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=FPVAYLmOpFjz8sligQE16UzH2CxNdWnb3kxkX7mdMY8=; b=cC3CDHWJLPRR32ePL6urQPtwtQkmuKsfHzoaZ4IChXgn0NeljI9mdaZybTj1NJg13Ms+U0t5kkSaQqgtaQYV1M+feOBMuDXGNQ6tmY6dm8p5EEsgmtdY9srlk2GPCZKWw4UX6Fe9025ep07pMHYjYcwnq77zp7jqRHmVxklCYOE= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=<>; Received: from localhost.localdomain (211.11.155.144) by SIXPR06MB0558.apcprd06.prod.outlook.com (10.160.238.151) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.874.12; Mon, 6 Feb 2017 12:32:14 +0000 From: Yoshihiro Shimoda To: CC: , , Hiroyuki Yokoyama , Yoshihiro Shimoda Subject: [PATCH] dmaengine: rcar: Fix release resources after interrupt process Date: Mon, 6 Feb 2017 21:30:14 +0900 Message-ID: <1486384214-23580-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 MIME-Version: 1.0 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: OS2PR0101CA0040.jpnprd01.prod.outlook.com (10.167.173.178) To SIXPR06MB0558.apcprd06.prod.outlook.com (10.160.238.151) X-MS-Office365-Filtering-Correlation-Id: c7805d8e-d9d2-4f71-a9be-08d44e8c2e5e X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081); SRVR:SIXPR06MB0558; X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0558; 3:ASjDT8+lf3qXf8FUbmihXu1iPdMEClITwOj2adP2GKolgmKVXUwcBv1hcqP1eWWtTRbRcdDeN0KQ+qmvnfNCcnObGyh3JMSGoZe3RnDUiVVs67I/Z+JIKMcFkcG7n9hDYXOOjz+iHWPxYtunAK0xsj+KW+EXwc8BrY7/F2KWPVVJS75+Q9OTkzNHV2eddVaDosj9/zk4ZYjCqYyU88ukY0ovRxo1ZnhhH5ucpL+vjgQAqO24S0sPZei1QtuoQRUQlecFS6uRQUPVo4tsCbIT1INJWjrfI4vkntPNvrUNEGc=; 25:8+FNmTQo+RFnior08J1/27if96IXlrce/3Ds8tQlXkOmpRbJa/dADWs7r4ZjE6euGb06jd224HS7J8RA8mg0+feTTJKExVUnDqal1TV3zfr1x4UpDygrWK54C89IJFIF6zpaWLvD3YAG4PzfkwL7k9amzT8DUzCm6llXts6LUszAom1EOHGMJSCm8axig8eukTYe8JhcvIfvnmwdZAwcSpiLzgFsiQlXYQR3tGRjPuqGP1W1yBK4U6QQx7n99gXiAg3Rzjw6yUaFvfFgbsEo4mxK/ZpW4tK8iZ3afrJmIGS57GcoOmnyOLEjrswv7rz+fuYl5uyiJv5ulMplI5YpU4UBJC5OuPW8NxmLwJyrZrADEvaMizJGBm1WFm+sTjFaerjFIWGRIMkwcYj23Xs+FAEpvBxvb6BvPEJd06mYSbw5ZcUV9iJCGEDHQTw6ikAup6ffvJBewFxyah3iuhAF9w== X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0558; 31:TyEWNIrkcRnbgJG374zmCPHoJECHusSn/zM6LjYEBc3T99VGM3PLU23KcMfu0WJSzTKaRaj/HjbNSVsVOD/8+VFNT3TgEs2tLuNtUBiR17RjJvPYQo90UD4RNmz7lLHNkIc9q3nVyFY5naDZQxs+cmkOMXhPE5IUl/q82+6jkLBjSCWhM4XiitG3B1GCkhYPlr8IR+xY96VCnGErvLRotdpzgw19GEhcTpTWBkBbxcNMugu9s6u3AwTF77CsnGgT; 20:UsDddSmiUBN4pfUqKMQmurgiaM7GAEEmwhMc08aenNW0zLM0QB2m259fPdQOg6TZvV+203C2FHXVihE+nBKFVU4PO/kBY+gL/6qchAYEcNhtzcmYp1NBvmwsLL+1vvX2YNQ2J88JdhKIj6ndrkBLkg3JOeD/cIxuam+191QahQBNPaxgIAqf+r4HIh3EpEv7w7TcsCyq7wJcB2c4urYtshSSZa/iVzAuu3mhp2aYBd0RzJdY1zKMozlYtiq3iBStcyFIkCHXrMOCRa4SSzBk7E9Qzlivk+G4dZryWnPsAMyLLVdWaOI3d0gCeMu7znnbzlmXsrI4HKjkdOI711mzIgz70ae4p1KJmzQydzK1XKmzKPs/hzhWFvynsgyutijrorLF5Ixo2v65gy0M+5GwzGA4l3RBFBFzTN4qSU5fuDj6g0sxwkFbOu4pCK56VeancbJQvT5EGs/FJDkGqyjGyMniAq6ynU/NeHJM6QEcwY2XTsq60ZcodfrVhvY9P+ZP X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(20170203043)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123564025)(20161123558025)(20161123562025)(20161123555025)(20161123560025)(6072148); SRVR:SIXPR06MB0558; BCL:0; PCL:0; RULEID:; SRVR:SIXPR06MB0558; X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0558; 4:WH4l0WXZnVOk8vXmuyoJ5Gz8yygJfu6krEPG0e+tNqjz7SfrVU+4LbVZDGcW+s8E82rRKSiBcf/CM46sg+xKSDrlImwP+Qin/n8kSTyBDzf0HDsC/oHuKR8x6vKZ/Xzi8SlyyuuK+MfDaYGFzFQW/k291kx4A6V7mh0j8057mUo9taLredR/403FmFlAa7kSlYHrzTtLkiN7Vmz6Lw9w9o7DmT9VE29w0tEfst9+vOIOwSyD9VAwxJzY//XyX/bQyxB94IFA9+0F8Db/shKQ1bRuluoDfBH//N7ctpWQ3Ntv0zY6mkIuto223yFjiTJwCN6Ihz/YXIGh3O+n5xVbWk8Gkc1WQWMVafDAbAs1wnWQIQvZYd2CYrS97e/o8eHvmtn//WjmLK0wOvVUCFVIM0bwfXYd75Bb0rZtFMdQjmsjk8Yt8DZ/5ZiCy07Wg104/CISRTgXaTPf9UPc9JHVAKSXqwLJWUjsXf9/u89z8c+0rCjEXGMLs2f51TSPzKwP83/qn4udtkJVMwfTdH7WLBEmiQe9Ei64vApKKw+zLderAZnrcT0JOmOsaVyvwaxbPLj9gCptv4sqko0DET29Yn9BY90lMYBBfDs/1RWD5/8FTLoVUgMtgk7s+MHuwssQlbqgFW8gysuL3R4K39WE3w== X-Forefront-PRVS: 0210479ED8 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(6069001)(7916002)(39860400002)(39450400003)(39850400002)(39410400002)(39840400002)(189002)(199003)(8676002)(106356001)(2906002)(4001430100002)(42186005)(5660300001)(47776003)(7736002)(105586002)(53936002)(66066001)(50226002)(81166006)(3846002)(50986999)(38730400001)(2351001)(6116002)(575784001)(6506006)(101416001)(6916009)(42882006)(4326007)(81156014)(5003940100001)(107886002)(78352004)(6512007)(36756003)(48376002)(68736007)(33646002)(305945005)(25786008)(54906002)(92566002)(110136003)(189998001)(6486002)(97736004)(50466002); DIR:OUT; SFP:1102; SCL:1; SRVR:SIXPR06MB0558; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; MX:0; A:0; LANG:en; Received-SPF: None (protection.outlook.com: localhost.localdomain does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SIXPR06MB0558; 23:ABqD0rLF3os5h8aTE2RmHr5vTbDz2vFZnghY6K2j+?= =?us-ascii?Q?+STk9Tsr4ti1IXzdJBIpw+N/nwOjb0FMVY84EViIVB8qY4sjrbSbICzkLm6y?= =?us-ascii?Q?hquGoEyWJTj2RvepAOeIZNALKRyMMmLyh5OyoEKWKonRdIZtyKpf+8X8vv3p?= =?us-ascii?Q?25pe5tfpo/0c0TPXtn4OzXXzpF1PBpHQLIi1kduPry1dFbkQQ6NXcPEZfaGD?= =?us-ascii?Q?NgIAs2wKCB1dk9dUvxgZTsBRlnMw92n7i2t5NqLJojwCjviX/W28Ph54g7Mo?= =?us-ascii?Q?/yqHeO3pU+aJVMc9CzS3KbHyvrxVI/28NfE26uFGwUVpsokaSbIXrQNMB4Dg?= =?us-ascii?Q?OAot03pozyXF0ba04xX8ZsOpgYhoVklVLfT1nfAk6WCR2B9KUfZJKQ0lfprK?= =?us-ascii?Q?LXFSoWKKQWr8NmFpYBR3AiWVGzW/IIaf6BFnKvRFe3hb8XovHvhRkQYgi2V/?= =?us-ascii?Q?ptLISskG0FDUGkqXZvhsohLNoxw/0lTq9ifPN09Awh/XDwNqSjuZKcOIS7BN?= =?us-ascii?Q?t/iwVsPeC5efkKZ1NcIauuCkcwpA3vjziXCSRDf/ye34kAif1dQMgLC/wLxw?= =?us-ascii?Q?L4kIao2Xc9yNJ5I9UxgTKoasASvgHAAPfJABaH4Uj0eup9OaC/lNag4UQRPU?= =?us-ascii?Q?v54RX8xeoQ+mkbEyQglFax8zPCGaTGu6OM+YoCDO8g8MFjsAY0xbG7jpI2cr?= =?us-ascii?Q?iJ1foYGJUyLbjeZDpaLe18EnzfMhY412+Zw729bt/YOvy4PfXVHyKSQ7MHr+?= =?us-ascii?Q?EyQCovw6gD5UdBvGPHQgzRZy54JEKr/L/4KGQfChZD0W0DMadHGZ1pwo/Tpi?= =?us-ascii?Q?n2QixuAXZmcxQGHjtDyOOY6czkRcaG6sLNnhriMy6wKgwRAxYhm541wQh3iP?= =?us-ascii?Q?Lw4jKyHrnHbfuSTySpRawLKdolKMnAlA4ek/Z9Z/EvC1E9zyIHpn8nk1LCqn?= =?us-ascii?Q?SS9Y7tHT692Mwyw85+BdLo1FCukOyGkVbc2cDwoQPxdpmuTR1FO5O/fzVMyV?= =?us-ascii?Q?PmHyr6H1g4AHVzdD3m9hCEgLqgjO+iQ82k5MNwmIuDPEEITv5jv5aG6nuVoC?= =?us-ascii?Q?DyvPMRPbfkpc+71JhZ+lO/RR9MLfYQhvKRoY8IVC5YbiQVzGEkec1D+JWOgd?= =?us-ascii?Q?j6fa2pFwoT7EosAPDPjcF/oSprcgVVGwTN77M69UQ9A7PTMS6h6wHjKpksL5?= =?us-ascii?Q?JEz53OpUVGcd2gxN78YvsZx4v61lK4Lvp4SbKdy344/fzqMzDXBBhR3SVrMz?= =?us-ascii?Q?8vAWO5IbJ6jEUg2T8OdVCv3vHWKcnHMDn5hSDlIRu5IgmhgwhEIUqrGKKtbC?= =?us-ascii?B?Zz09?= X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0558; 6:jTsDpmyhadnYYJaWn/EnEb2wMnFP7m6yF/57UjKt0pbzeKW5uRgFxCCyJlQFEjSnF6AKNAYkdIC3SF1hurXv1p40/oll3WNtLPqPOIlzW/vYfsBhVzEsilXdvtwy9lCy1sDrqZbbRlVVNOigP4R1yutqmTng3rFXgIMGi4oLyaz8Hny5zouud12aklh5Uq5SsqqtT4YW8uL0xwItiNrcFcTk2qejT90q/+Xxd+7hnmaotXky/Z3Pu0UkinBEeQDSTy8+VjKUsG0k8thWQBk1Ua+tZXJc6f+ucDw7C2kqn+wY9+FHfNwv0KgCNNBtGuDqGJHadeCaAV8MySn5IX/l5ve6nE8pHog2k9kF5PUeSPKYcUS5NSrfWwDNdeTXeah+/DxUm32teGEHt6x/GOWkZzJKP3MaIJmcKeQg0OQ1q/8=; 5:r5E/2oGhVy5tksZGoYU43nvOR2EJtrwvbIfkMCse5m4TEablUggpsKbTw11kxuoccUHMgpIkFXYsnx4osRfc2uxQAQA4uRV8tcp4VpyuGFgUKrz4qWag7oJwUeaoj4fW2Dvqtb5lbET4FpYYIqu1VQ==; 24:PAGIxQQjro/ByllN9Vh08ubtrX0mJhifyj3NQdEu/fLRzAJuVNZTLwdHilwDmp2aj8drt3/rJLRhehJG+1aSBP0PU8uOQipi80+otR2NeDY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SIXPR06MB0558; 7:tYRyIN8B4Rb25MjOjQlfTdrjRA2NGwk2Mgx2BnfFLlCAlLTb4fFLIY2D7BH2OQwwhAe3NB3jNOzTIEtIXAQfpxcx3ds6McrxaUin88u+m9ytAxkTZCfkyeq/M6HxRxFDZsEHYPu9xmknBncFVy08AWrjHykDqHgh4SJfXRPwy+ipJ89fuDb1NTdfvxMgwUYDkNeZwI6HHrry/mBA/6F1f0E5eFIE1jq1DMj9zm1vtm/wI5mGrZhkYlklC8nZWJRlCImpRAVlf+FEqAM+sYhjC1y1MQp1OG2gqW4bmnh/HexvFnLKjeQa6J7DtCtfgUN2odNUdO2hhHBVCjOEamsdNI+zHtuxbgjsXcIICmdaO+8GevCrsmrYnSwA+3SuO1bsfiupp9yHpwPoUGby8wwdOFmrEl2ZBjBDKCGa0LdNRmza2nhHGRRcojkrH96boV68uSsKz7k304dgXafCfkdfIKP9+K8xM4Q9+m+N+wsKRtIuo2pU3T7v+S3YVHKXOthmsOkdS/i1GDNBRS9PDuKK7w==; 20:TJMxlHQqKFWalJdIoz+jg77W20CIx75MkM/I6mGy3KUFKN9Hocetsoh5BTpCPplVx7X3Agfg7s9aWNX6U5zammsw1KKzCeSW0/BGSgriKZh1KGhAZpDUM8GutrERZDan7UWCJWoBGnw33GHTL9NsqZCSu/FnosOMDZHiqkf+wjo= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Feb 2017 12:32:14.0041 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SIXPR06MB0558 Sender: dmaengine-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: dmaengine@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Hiroyuki Yokoyama This patch fixes the problem that occasionally released resources before the end of interrupt processing. [ 58.156412] Unable to handle kernel NULL pointer dereference at virtual address 00000000 [ 58.166155] pgd = ffff8006f78b0000 [ 58.169822] [00000000] *pgd=000000073773b003 , *pud=0000000737c70003 , *pmd=0000000000000000 [ 58.179738] [ 58.181548] Internal error: Oops: 96000046 [#1] PREEMPT SMP [ 58.187484] Modules linked in: [ 58.190919] CPU: 0 PID: 2898 Comm: dma_ioctl Not tainted 4.9.0-00002-g501 07f2-dirty #147 [ 58.199438] Hardware name: Renesas Salvator-X board based on r8a7795 (DT) [ 58.206680] task: ffff8006f77b1900 task.stack: ffff8006f7bd4000 [ 58.213090] PC is at rcar_dmac_chan_prep_sg+0xa4/0x3f0 [ 58.218725] LR is at rcar_dmac_chan_prep_sg+0x6c/0x3f0 Signed-off-by: Hiroyuki Yokoyama Signed-off-by: Yoshihiro Shimoda --- drivers/dma/sh/rcar-dmac.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/dma/sh/rcar-dmac.c b/drivers/dma/sh/rcar-dmac.c index 2e441d0..2e0a0d4 100644 --- a/drivers/dma/sh/rcar-dmac.c +++ b/drivers/dma/sh/rcar-dmac.c @@ -986,8 +986,11 @@ static void rcar_dmac_free_chan_resources(struct dma_chan *chan) { struct rcar_dmac_chan *rchan = to_rcar_dmac_chan(chan); struct rcar_dmac *dmac = to_rcar_dmac(chan->device); + struct platform_device *pdev = to_platform_device(dmac->dev); struct rcar_dmac_desc_page *page, *_page; struct rcar_dmac_desc *desc; + int irq; + char pdev_irqname[5]; LIST_HEAD(list); /* Protect against ISR */ @@ -995,6 +998,14 @@ static void rcar_dmac_free_chan_resources(struct dma_chan *chan) rcar_dmac_chan_halt(rchan); spin_unlock_irq(&rchan->lock); + sprintf(pdev_irqname, "ch%u", rchan->index); + irq = platform_get_irq_byname(pdev, pdev_irqname); + if (irq < 0) { + dev_err(dmac->dev, "no IRQ specified for channel %u\n", + rchan->index); + return; + } + synchronize_irq(irq); /* Now no new interrupts will occur */ if (rchan->mid_rid >= 0) {