From patchwork Tue Oct 17 07:30:21 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yoshihiro Shimoda X-Patchwork-Id: 10010953 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 2119A60211 for ; Tue, 17 Oct 2017 07:34:27 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 13135286A9 for ; Tue, 17 Oct 2017 07:34:27 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 07FBB28716; Tue, 17 Oct 2017 07:34:27 +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=ham 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 9AB6E286A9 for ; Tue, 17 Oct 2017 07:34:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933061AbdJQHeZ (ORCPT ); Tue, 17 Oct 2017 03:34:25 -0400 Received: from relmlor3.renesas.com ([210.160.252.173]:20302 "EHLO relmlie2.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933027AbdJQHeW (ORCPT ); Tue, 17 Oct 2017 03:34:22 -0400 Received: from unknown (HELO relmlir1.idc.renesas.com) ([10.200.68.151]) by relmlie2.idc.renesas.com with ESMTP; 17 Oct 2017 16:34:18 +0900 Received: from relmlii2.idc.renesas.com (relmlii2.idc.renesas.com [10.200.68.66]) by relmlir1.idc.renesas.com (Postfix) with ESMTP id E6886465AF; Tue, 17 Oct 2017 16:34:18 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.43,389,1503327600"; d="scan'208";a="260764982" Received: from mail-pu1apc01lp0017.outbound.protection.outlook.com (HELO APC01-PU1-obe.outbound.protection.outlook.com) ([65.55.88.17]) by relmlii2.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 17 Oct 2017 16:34:18 +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=5HBSN08QErSfIziAX8em9wZPGUrcNo3QO8hApGAG+lY=; b=Bs/vQENliIiGOSmzSvrU18g0tn0Ajvhxa/w/+YTjphMw5jGDNT970iS0iM9LQFWphri9uW+yRrSV1LR2UbkybUhswvmS+Z0tIQ14SQAvZS44iDQ0oTEE6EJ8Ww/SzlZbLwekjtL9q8ZkunAM9fIpC6QUSw5DTiYhFL/YWGvbvj8= Received: from localhost.localdomain (211.11.155.138) by HK2PR06MB0979.apcprd06.prod.outlook.com (2a01:111:e400:589d::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.7; Tue, 17 Oct 2017 07:34:15 +0000 From: Yoshihiro Shimoda To: wsa+renesas@sang-engineering.com, ulf.hansson@linaro.org Cc: linux-mmc@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Yoshihiro Shimoda Subject: [PATCH 2/2] mmc: renesas_sdhi: fix kernel panic in _internal_dmac.c Date: Tue, 17 Oct 2017 16:30:21 +0900 Message-Id: <1508225421-25405-3-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1508225421-25405-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> References: <1508225421-25405-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> MIME-Version: 1.0 X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: SG2PR06CA0102.apcprd06.prod.outlook.com (2603:1096:3:14::28) To HK2PR06MB0979.apcprd06.prod.outlook.com (2a01:111:e400:589d::25) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c1d39e3a-8abe-4a70-c6a9-08d5153178bc X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(48565401081)(2017052603199)(201703131423075)(201703031133081); SRVR:HK2PR06MB0979; X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB0979; 3:BJjoE6tSitdN1qrqxpduTTSntcWtDOXCiW6pQSbmSLRXujzZeieQaa5v4zLrBIGeVpfI4T9g9trUP+cxeO7pGWeTxaE2tvdY9u6hXpNo3W9/Wh1gOx80RV0OVwVccRDtYvFD5jaiZu3Q63ZFWmn3TtmZux5W3KRJVGXsT40Betd++VFPxBLny6zBlPmbfaTkc29E7h5YkC8KvwT3gfF16FZPU4v4PBy9ec4N8dbh56WZ3aTEX8RYj0zz8R1L/S+B; 25:Jiz0pVvuIiy7TsWMXOFSsmD/obMQ6MZyfFwbR/I29EOaVmn9O4ky2zyquuPyEub9D8EEk8kL7+S7LVPhdtuPs9vQjezC05jsf9vYP1jrcK4wsD40CFEyxxSJoIRebi+XAL4EaYFmfz58TC+X8pAbK1lFurcQnOEYwjSSXAQhgyXKxNCF1YCItWf11fHOiNsNr8fE29DsRSNgck07tr7byCTjJNDfWUXlaLfo1e2eiLgFPrm08qOvJZdyoE1up149aEZkMFgYLPWzMc5jejfvR3DFKdGyWgrvooR56/wHLh/5pwGu09hdSUwvkNF6tl+8n8loGMN+7er84v/aJf2C6Q==; 31:NxTmRIvpRmafs5SnWvyduWAMFzTCgHWKgPISOk6R9Vj+m53Dc+RNCeH1g6ZXCKe0aLQL7rGQzkFBBG0GB6J7vTvRn7rqCrk2z5ULKRwpNFx5SVeu1y87coErKOiLzo/iuwuBXCuqjWKzwvWF1+btQFcxGGjoYMRGq9hMIrTE3jTXwdvm5ZOx6kGIIARHjQlGa+FThcQ708JmvAldqrxiFUov6Z7/Pb//tUZnX3I1dwg= X-MS-TrafficTypeDiagnostic: HK2PR06MB0979: X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB0979; 20:cEYvHck/lnz2n9GE+nw+pKmhU+RtOMqmAUzvkWnSU0z1SheZ7cSxuS+YScBNouYFETfP+0FAs/ev0mk0JUkfbCMa7n3ekbVuyDEuNaLuGZ41UpnsxDznw+kHymvENeYjpcTukZ2tkZm1tzqtoBuVtAy0AUCv7XiKDHQFuisVeEhW0Yt+qYoss9dbsCY1wkN65j9mx766bcZy4Q6ekI//o/7DCO8yCQerFeNzA206EbHGjo1kr9UYHqPXqqbLQJqPMyYdGwg1WWPrvhoceMgondCp2ATMDOE980bY91zyEwUkRhEa+OXnIciMwxItZyvGMJjw4kagwDJdRrV9sxPdpw/VmHm2u/84KbGWieBL6Lz1GqxUHDcebzLXkLUBCQRyp6oti6CoF8xKLWaCZZvHyXL41ZusFcIAhpq6WiWE/WgKbN0l4PRM5esZQrAQbh9BDxMOctUhHY86UeGXBXQiY5+/uqd6z3gfMV+pLpiOsOt/oYskgnOAuZBn0TngFZKz; 4:DuunlBBK3IMSoBU+bJegcw2onXXwh9b/T7kgpE2t5jqC2TFL4kqqQklsCZbc/0yIBt2zc4XYCAg1/Mn1NjpRcwymuoo+gfrLe/HbrIL94HnygMBl/LD9P2yVQ8lhzWwK24Yd5UDD8ybGvSff/hXloVMGrD7RGhxOe3GzPUY/RdT+OjCdtxONCRy+bgtZDClT/VnedjbLVdRY6knPEIk7bO9m2Zmz2XJmFtL4lHGXsYDpwVLY2aWDNeIWlYYLf5Iy X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(3002001)(6055026)(6041248)(20161123564025)(20161123562025)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:HK2PR06MB0979; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:HK2PR06MB0979; X-Forefront-PRVS: 04631F8F77 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(6069001)(376002)(346002)(189002)(199003)(42882006)(2950100002)(5660300001)(66066001)(76176999)(8676002)(101416001)(68736007)(50986999)(305945005)(50226002)(33646002)(189998001)(105586002)(6116002)(4326008)(3846002)(47776003)(498600001)(81166006)(81156014)(6666003)(78352004)(7736002)(6486002)(106356001)(36756003)(25786009)(6506006)(50466002)(16526018)(48376002)(316002)(16586007)(2906002)(97736004)(6512007)(107886003)(8936002)(53936002)(5003940100001)(3720700003); DIR:OUT; SFP:1102; SCL:1; SRVR:HK2PR06MB0979; 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) Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=<>; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HK2PR06MB0979; 23:kYXttKy0t4ti2kFrjzF2T2qRYj+zYMES51e+tMbB+?= =?us-ascii?Q?v4FNVkNM89K5lvZnM+41z9zZBanFyrsp5H3+2SAWMK+hyfEIYzmqw0KNtPOO?= =?us-ascii?Q?9900Q8W9uN4iNNmU++DkEezF1dWjCviLWmvVCM+fjrNqdP2SHyl8fF3MYAG8?= =?us-ascii?Q?Gvr3pu1v4fwMAlaDIoHGypmvnTqQjETKZSsWYwHzEdwqUD3eQkRLf9oTkjsb?= =?us-ascii?Q?JtPVtsCcjqfHj3omQ6Vj0L0aDUKiKDfUYNDCFSlnLVtZeWqQ/1QMsaJiryn+?= =?us-ascii?Q?z4yBpMEeeWH7CYp8Mdw4+1rrccyvIflCVtb2RhxP8OdSglx6qpm9LgAuCx0W?= =?us-ascii?Q?CCwjmBQH2WqyawrHgcJiA3igCNufeNKOPCpxVyufmUWPkK9jDtozZ04m+7BK?= =?us-ascii?Q?mY2atu0vLz7bbLM5rLMVvRZjQ2rVDtg0B/rg4E/q8PQBG3frN6jtQ4C52tsv?= =?us-ascii?Q?VAZOwAnof5gikppybCTa3QWrUsERx6IHHBrQi0MRKbJtnmT8A9pJh4Hfo0Gt?= =?us-ascii?Q?Gcl0iIBoQX6sA/7p0JT/bZSgMmQEzXlWid1q8CB0id1+HaxfPMpHlmYPwhVn?= =?us-ascii?Q?lv9RuTwoEyBzkGrk3TNYLxu4wbLVWUzMY2Zt76O1hlVg1uHcYAETkCG9DDqH?= =?us-ascii?Q?sJ+cW1K8xWHLZcyMaCJMvQdff9sdORA1VeI5dOhw4Z35n7ziJCPUZ2jE2+QQ?= =?us-ascii?Q?1p2bC6TyBfL8Occ577q2zjgfGaANb+gH/HapBRSFHeGpBji8lJWCpr+viQLn?= =?us-ascii?Q?Q0tcaq3KQcRHehvRH3/EuMiPzCxZCYJojqAIIeklT41TG258blaz8ecOeAPZ?= =?us-ascii?Q?ndL8Y86eFTQWFabfov8K7BC3FxOoVjg9zguTFVdM5xpMojqoXz1K2ReMnSIm?= =?us-ascii?Q?y8d2TWTlPCwjH6t62AgxqKgreG0dIgO/TX5A6tYIp6N7hlDj4H9TJlStHS7k?= =?us-ascii?Q?6OqjH1VpDMCjY8Iw++5xLRfb0498gP+OxcHFe+81SXVrMS52C0jWdF1w+cr8?= =?us-ascii?Q?Arx987N46Ymu/pUBdPZL2pZTfRCPn6cJcnlLAYGCzFRW6ny39f8Gt0avgkpC?= =?us-ascii?Q?d3o5u9fi0AbjNm6+eUlBThEKhoOZU/XCdlKeWzxVEjo8p8sjmaxF8+KtDRhU?= =?us-ascii?Q?QL49roti48=3D?= X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB0979; 6:8RmzM/WJjrrBV3KNbu2oaKyViQ8C2YjQupfl1WhacTfFgDu/0RtZM8592Zs0TlQe3cek/Uei5OVO9zdFkFMkB1Ig1A3rxySP5fGB3W1WrjNaHrlorel7nT7DRpNdkwZXjvFMIIhyJlyt/LhJgBEoTe+BHh//t3nu8+iC0NHG/9XKWXVWviNPzxGXgkCwd+iNOLIsf+IJHynSUuFgYimTALtGWPdkGxvihtLMhfwQlKtCxCCFpQ+vp2Rgoa3agCGQkQjqiadZGRG1X+G7u2WCz1ywC/I0hGWqrBFbORNlX2qyQ8zeF8iJbFtS74sNILKO90qCCCMRPo12D3LzuWX1oA==; 5:xy3DScUmLEAkDiA7TuVcWR8MrqhIar8OZqP6uRNdk6xlreIPeOrpY+VPvQFHEi8iRNOpers6luIrSiObP8p9wIkTto5CjD3k4mf3mdXY2lvJMLfPP/2USWIzn+3AkTWCOfXnoRptaV7YJx62dDHI1M5u8wpmCTu3Yrx2zumBKM4=; 24:4pBGkWRDr7QImBL5FkgwzwTl2aH5oQNS8Y4zxmJsIVdWvwW8jqdWf9lXYITl/l1gO3m29Yath5zZNDB3rRQWEcEQ4auq93p/qrkv5DrzrFo=; 7:u4OBKD5iXUdb2Wj6a4R9Eyu2lVcfEDaSNOxKuVc6eUdWQWhETMv0VEJ84sy6c5VnHzYh677PqpHJYnG9MtU6WwjbrVgT1zYvIZsgt7GZ+onldV86N/ykVRGdhL1VALQtGl80R2t4bywWT6+2lk+pNBsNsHqJb3zNtU09JnHAxnADt2m9nU83OCJ2l5o5gGI94I3luyrDmY7HhQhCdlUBA+QdHxpGC5TRxASSHGLnF9Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; HK2PR06MB0979; 20:6jFW/5iFO9bdGhfVs0OrQ7pI7LYA7C3/VZHAtHpEWJAHOw7UNz1jcmRi1QGF0PxxMmp1ZJsB7QSB5hwsTR21mkNyg1LMY+U+cUK1hbXWf3J2m8ixYgspQtDLubR8LACweqnp2y88PqM+ANKBoOXeDPFbu9t9q7ibxPCom43jH+k= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2017 07:34:15.6948 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 53d82571-da19-47e4-9cb4-625a166a4a2a X-MS-Exchange-Transport-CrossTenantHeadersStamped: HK2PR06MB0979 Sender: linux-mmc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-mmc@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Since this driver checks if the return value of dma_map_sg() is minus or not and keeps to enable the DMAC, it may cause kernel panic when the dma_map_sg() returns 0. So, this patch fixes the issue. Reported-by: Dirk Behme Fixes: 2a68ea7896e3 ("mmc: renesas-sdhi: add support for R-Car Gen3 SDHI DMAC") Signed-off-by: Yoshihiro Shimoda Reviewed-by: Geert Uytterhoeven --- drivers/mmc/host/renesas_sdhi_internal_dmac.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/drivers/mmc/host/renesas_sdhi_internal_dmac.c b/drivers/mmc/host/renesas_sdhi_internal_dmac.c index 6c9b4b2..378fe88 100644 --- a/drivers/mmc/host/renesas_sdhi_internal_dmac.c +++ b/drivers/mmc/host/renesas_sdhi_internal_dmac.c @@ -147,11 +147,8 @@ WARN_ON(host->sg_len > 1); /* This DMAC cannot handle if buffer is not 8-bytes alignment */ - if (!IS_ALIGNED(sg->offset, 8)) { - host->force_pio = true; - renesas_sdhi_internal_dmac_enable_dma(host, false); - return; - } + if (!IS_ALIGNED(sg->offset, 8)) + goto force_pio; if (data->flags & MMC_DATA_READ) { dtran_mode |= DTRAN_MODE_CH_NUM_CH1; @@ -164,8 +161,8 @@ } ret = dma_map_sg(&host->pdev->dev, sg, host->sg_len, dir); - if (ret < 0) - return; + if (ret == 0) + goto force_pio; renesas_sdhi_internal_dmac_enable_dma(host, true); @@ -177,6 +174,12 @@ dtran_mode); renesas_sdhi_internal_dmac_dm_write(host, DM_DTRAN_ADDR, sg->dma_address); + + return; + +force_pio: + host->force_pio = true; + renesas_sdhi_internal_dmac_enable_dma(host, false); } static void renesas_sdhi_internal_dmac_issue_tasklet_fn(unsigned long arg)