From patchwork Fri Apr 21 00:41:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kuninori Morimoto X-Patchwork-Id: 9691499 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 672236038D for ; Fri, 21 Apr 2017 00:41:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 565932847B for ; Fri, 21 Apr 2017 00:41:56 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4885A28480; Fri, 21 Apr 2017 00:41:56 +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=-1.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_NONE,T_DKIM_INVALID autolearn=no version=3.3.1 Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 767C42847B for ; Fri, 21 Apr 2017 00:41:55 +0000 (UTC) Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id BF713267066; Fri, 21 Apr 2017 02:41:46 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 4510B267066; Fri, 21 Apr 2017 02:41:45 +0200 (CEST) Received: from relmlie4.idc.renesas.com (relmlor1.renesas.com [210.160.252.171]) by alsa0.perex.cz (Postfix) with ESMTP id 7E10526706F for ; Fri, 21 Apr 2017 02:41:26 +0200 (CEST) Received: from unknown (HELO relmlir4.idc.renesas.com) ([10.200.68.154]) by relmlie4.idc.renesas.com with ESMTP; 21 Apr 2017 09:41:23 +0900 Received: from relmlii1.idc.renesas.com (relmlii1.idc.renesas.com [10.200.68.65]) by relmlir4.idc.renesas.com (Postfix) with ESMTP id 1363D5DB4F; Fri, 21 Apr 2017 09:41:24 +0900 (JST) X-IronPort-AV: E=Sophos;i="5.37,227,1488812400"; d="scan'208";a="240356799" Received: from mail-hk2apc01lp0212.outbound.protection.outlook.com (HELO APC01-HK2-obe.outbound.protection.outlook.com) ([65.55.88.212]) by relmlii1.idc.renesas.com with ESMTP/TLS/AES256-SHA256; 21 Apr 2017 09:41:23 +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=fq5/64YXq9CUtSWLhBH3+l/cRb94FbYaqDDOijQgsw0=; b=aOEIUtnX6K+QML36g1lvLsYuBG5paswONUGapCFsK9xcljqgbWsbuldgu/ee0LP2FCa0tDEaYoUmlc9LqQJQYeN7EGy7UEflxEoRskvl8JCJcwhtx37jqXvZw5PHMiQy5uHbLsIWud4tyTB28Yyl1H8uhT4PTELU1hNxKoj5TLE= Authentication-Results: gmail.com; dkim=none (message not signed) header.d=none; gmail.com; dmarc=none action=none header.from=renesas.com; Received: from morimoto-PC.renesas.com (211.11.155.144) by SG2PR06MB0824.apcprd06.prod.outlook.com (10.162.198.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1034.10; Fri, 21 Apr 2017 00:41:20 +0000 Message-ID: <87k26ewq8c.wl%kuninori.morimoto.gx@renesas.com> From: Kuninori Morimoto User-Agent: Wanderlust/2.15.9 Emacs/24.3 Mule/6.0 To: Marek Vasut , Mark Brown MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Date: Fri, 21 Apr 2017 00:41:20 +0000 X-Originating-IP: [211.11.155.144] X-ClientProxiedBy: OSXPR01CA0055.jpnprd01.prod.outlook.com (10.167.144.32) To SG2PR06MB0824.apcprd06.prod.outlook.com (10.162.198.15) X-MS-Office365-Filtering-Correlation-Id: d7d9bd56-3ae6-49b4-af3b-08d4884f21e4 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(48565401081)(201703131423075)(201703031133081); SRVR:SG2PR06MB0824; X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0824; 3:TWL8R6MibjNkYU/N8Th3CIrMh9VKXGN++R7dMxew9q6rRc5NL67QuvsQpc4WJf2l9OM6XAWXbLfi8Af+I7UEvEMfisC1BprLW5ejboQxhOXD63nrXYQmcpMIYwDtvEciyQikFECKKFf+M+CBTKP8Mkap31zGAzs3ZQZo7Q5+NtemNUVUy/vy+I/ICWaZEiAFvRzGBEjO9b3nL1sRpu4cSDZLEU87+WGxwOYAXZYIId8f+bWbTd/SmvXHq8io3muArI2VMcorkpsfQ9BIbr1lscb76CiEdCehtmL4vWyvep4bIWxurNC+ff13Wv9KROIsaVJpeLR5xpKclAKQAEMC/BxjaYVx4XDfKRrMHEIiCGo=; 25:5yRh8X5mbkhOysGu7Oapn7+3nHXP9s4Ao/rtN15ii3Ymey7DjjNzLo8HiVcCEa0sV9ZBr7/WRMj3cAsDDw+V3mg/F8ohQ+Hpu6xv6iADZ53Tm1D+5FYvJulUYQUdElCWjMy8soH4jKg0WQnmB+pj3vB51OiqgvzMXvn+Y0YlZiiWvMYD6YvzPBUxq3Lf6HjlxwvUr5QoPJ8SlEBcIceohVlpflI65aT9JR/0FYxywcKQPsf7C7wcW787ZhImuw4n3zb4tKSvxTWqq7I3/6LP92zbwdhWHEtLbuuYYzsTsm1Ak+UAZObzMvEWKfOlpF28eBKimlR6X4yQz5cCOWEkWe3SBUdpKjwuLHvsjSupuojLTC/Ty9iy6mT9VLnvApCvNYfo9pRkjMgJwFFmxxFR/fZJZMlZO9q3v9+RZ8DhWQynYmV/5YnAEpDAOEuDkPXskr04IXtDe1IDZSzZz9gCZg== X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0824; 31:z5R6+vF/2xeRQiyzykwyVcqLF3/OJQYPbWx0wRCcCG0xxWXnVmrMKmO7hdMk8KnjhjsEKHGW0/cwmVVLIyT3Z/EIPRLDID37WBfqtSH/wgPveXWEshdUWpS6BkmxfUYOZRv3QxCxNwvT986NI0sKuVu56fKeYJXWktKSEfXe33//7wH7CCXvAs7PAUF1mmbkZwuX1DHOJywCTdy4jr1Od4bKiHwiFiMIRa5PhjnJlE4=; 20:vc0qsji+2NnEuL60ZgU4j1n/ZnTH2NJKsH9etb/OEYl7EtawvplGzHtW/kmLwvHwSDjs0By10+MFk3sBVw/MwQen2UR88ntKiqbPlBSRow09kMvZf7l4pbjl7mIcDmYStiF3N1qKjvWc/no1WDfqKKtYfbAwZhjM9oz2BjYo2Iqwd8SxgYy5NjFSXY1v5P4nWgWvX5ln/Wu9nrVLeh1ykOGzhRej/XzqDz+1Q6lf4oukhpU69TOfh6t5Uf1ey/ZintyAVzhwERQSUqWdHbNZ12s1BEm4Tmnw/sO1/7WPfxXHVPfrxdSrVMS/KfzE/AnFqk7LUF2zZJT0KuWWOakNETattKbCvTP5OplPMV1xDbLbXsXWl/f9dHqFdFbHsof5uMbDHeMlNCNEcTSrWWR8+8lrk50UNmds83W6sSBrShIDRi2d8sOCJ4Nyxj4rVCS1sY8FiTdyZ2IYzroDYOzoh59WonuTfG7LXP1eIkiMwKcHmvtk6fyJFjgqs/1/pBHV X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(93001095)(6055026)(6041248)(20161123562025)(20161123560025)(201703131423075)(201703061421075)(201703161042150)(20161123564025)(20161123555025)(6072148)(6042181); SRVR:SG2PR06MB0824; BCL:0; PCL:0; RULEID:; SRVR:SG2PR06MB0824; X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0824; 4:5kjQrvBLvNuhILSUnHsFrZdpxjhDBISw3l2SI8NbK17m7ok/fLdsl5DJ9gZreWVktgtUEEBl+6gdRVK5+ka9JxjYC1R+KOTPNKDnhE9oa7He2MVHHwwcJelbFzs3KOsPXFg6qrT/8FALIW1j4rZcrNCOhz+zjumJTAKxWVzFtDBag++isSRlEs8Xu20TB6Ev/QqV1fFN2X636KbDvjdj1YL4sd6VA57Z/E4e+IP1l35Q7plsw1p2nSa663EkiKVJdYaVv0TBmDYzNA2iG9PwCPoipm1LCiWgGBsL2f7StagzNphjhAVX5qZY3NHv7Se6Nya4PPFus79cGrsSFXWMLQQmkdhMGRERORxNCWDXUAVXsjwpYhbT1sj5T5lPJhj/qjxx6z2KxxWHEndJ8LwB+LqUCb3SM/OydSboEOGpTzfmd+UvUq358+oFpGBemHgjE32iAl6i3ZZUh3YlMRs+pZbd3k26OTlhpuVDdvZo6OhvEzr6IXpz9vZeIG57eLCGR8NjyJgbnJlBGlv9B9FV0V0g8PYo18qhs1MkEKwG2l5Sp2D7dP44/AO6ggLRS0mlgpuCRRz5B5KRwJwtPNfEUYx5icSIxwrFm3ko7xFBbzo4yht1NYetcGhzoZAS4noFUycdxN2EuXQA7TYrGqUSSvsFkq3Ux1YCZVyi6r6sgyp8JogbG4RsMS5dxcrmKOCsT/g4FDkSEpNYZ0KAlxQnnY6DqsJC0cuMtRdcTtDlhR4tASmRPj9UPjjGVJHjVCXd X-Forefront-PRVS: 02843AA9E0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(4630300001)(6009001)(4326008)(38730400002)(66066001)(47776003)(53936002)(54906002)(5660300001)(36756003)(7736002)(50986999)(305945005)(83506001)(86362001)(25786009)(81166006)(2906002)(6486002)(46406003)(54356999)(6116002)(3846002)(50466002)(53416004)(8676002)(4001350100001)(42186005)(189998001)(575784001)(33646002)(16060500001); DIR:OUT; SFP:1102; SCL:1; SRVR:SG2PR06MB0824; H:morimoto-PC.renesas.com; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0824; 23:fS36n8E0Lm+qwX2SlaV7hqqNiJsIecSkov8H94/NofkaT+semNLoK3uVRqsByMrPyNoPaxnRnpWxDVtHtIgreitgCsrE+CDgGs9mjcy9ZgntFiRqppJ4MJnDcTi07Ez6cdEqtI87VGH7FzQdMlTYZkCAuhvwEvtPYsplPw73rGD/RLBOEYHk+38tgsd2kzFGIIlzmwWXBvdLKB8td4yiiyZBjV7NSJGMrvCJOAWSm6Ojm/Qqt2osPfrQlpAWK4cRBRYEEXrA4hfW8BTuf8+xzYiOu/yZqUnN5UM8LsUHOuv+nXE4ZBHMJazmwjGkPC+xM798rijL2Kg+vrjDAi5Gb5FGdvIskKmyP0jI1EzM5Au/lqSZL9vg80xB9/NoHTUNIfFISlor4EBwq/AADi2OVt1lEJnoz+8pTJ+dbJgvoH1Wmfsw4pvn988Y4ZNNtRPzQCeT9dcsf15yTK0RvAVUBfKZqmDXGrs1Q0UtJOpCOpXh3EZRFScEG1Ra5URb8n3nLpOsxJP61gcskKZFGm8g1N5y3QpmWZix8L5T9Ryw0oxvz6hN8Qel9/PmuUHQndoJPeYGkW50LCReCWoSQFgGqB1+FlsWkujHaoiOgBrUgxjKw5Xe/z9kcPG4hHWP3x0KMcGzngj30VomJSIrZfwZQ8rfdCUhaphf1OqAv0gqeMV8loCSVKt9IT0bWU/Q2YeRvYw6J9co0dt2P9ItEkwGTumxP07WkUJEGFNgixER96+jaPK6kVtzKubqX3H/THvEH4FVQWUAvrduxOL2c/J1chvvzwkBQd/Z9QRdTPly13UtKVN0n1k7Hp+JMiurU017TFE+e4u1b42DcFrozpsvlQ== X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0824; 6:3gRa4j6LB100x+z2WWoqjkzx94ARxDxIDq4thRr0LrzXQLbuDEbzfVEd/MDRLKI1hpjf16TlwJ1gW3vPeUOnffF2pr7bExScS+VCM+jg7dHFKDog7QXDkvlnrRJWOloxndzzA5nrlSJTEzApw+9vWrtCj5VCPnQXtD727VFEsiCevep4sQq1j/MRu2hMP5K3CS/kDL1oqAysXUdJ5Trl7v7ikLOtWwWSwvnQAOTbQMiy9PeEQP1fMykiVJLEW7d0oPnedomd0KOtsNFSmLsgfkr17TVijos/iH1+xmBFPRmNQOWh2eM/GIZI+xql07EgxyJXg0EykoMpocO25hMvsgI/A74Ysvvk8IKnEMWiegfq/XFw4Ypg/PjmWXtapJWvQdGH0wywf2I2znLZFw88aJuKy6/4+Dd5W8qgTEn2iSwJm6q5zB0ipd6JAUWEJ6U7DHgV5DDzPvfkbaIK3Jb08DEbRRass6xHkQ+LCdU7rnJzia7gpFKabgaeX2uzjJHInNnEvlUvJpn/hzv9dkw9P0mewum9dqdXXiSBwB/7/jxX95oQighrhwYlmCGhuT5G; 5:YZxSRdnK4ucUVhsIBcX+kqfeJowJQiwVQ6wvweuFD3DcXTBT91VTyIHhhc5liEV582qNXZ8h8oRda6TYPYLNyZdeD4mmlJSLqeX6YKhooSz9q6Gf1QSGrK2E6diHiFrGE+W7Ka6mIMRVqhVCXY7oXg==; 24:qT6J9m0Qdkw/MdNIf9VNtcj0ZOfo1jtoUmKV7bjWslyDlize4VdFHivEspjTmmqxuFUkFVMYkGnLz3NnvFFoNevcqOAXIuqxtEM0kCntiLE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; SG2PR06MB0824; 7:l8D4u65VfnE/SXZaU1JKPcmM+Mk1OPTDA6V5mdIJQMaYia4JY2Pjjry2msQ2JtBVwKssbMt3IR29205ZR7SXybMlS6tlX865pxDEeM+ZF2K6LcjZnPPpESP41G9gGqNbaQ50NF7tsyD5RrenyTY+tTJr0/DzOoCIeALbGrdSUbf0K6Wmx8P5LCP2TVWxbtA1Ibw0GO2tzdf4IZVOT6tRwlgliNBOf6mhx9zFMxtfckdnAhz6KVE+Wc+Q9X4j2aXOsJdqvpuCPWqhZb3eX/gLxTzTdAB4qT+y/pgxi3F+jqg5SbS+IXEYoPs6q8TzOCT0d3RgQrazhqhLUFAFdJ85eQ==; 20:eXW1nbEnKoWTXKeT/BBj+CcU8Kq/aMXE9dy/D5UBjgCjTnR8AkvC/v+XU7mYoRJFOiRCig2RHe74jklYsVU+58obPoNZvYr1OItgU+9C8hHIeeXR3QdIj37BGA2gHQiPvr84a2wyKmkQftD6XFQSkbf4LYUxtx+LbarYIVLExuk= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Apr 2017 00:41:20.9833 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR06MB0824 Cc: linux-renesas-soc@vger.kernel.org, alsa-devel@alsa-project.org, Hiroyuki Yokoyama , Geert Uytterhoeven , Marek Vasut Subject: [alsa-devel] [PATCH v2] ASoC: rsnd: Fix possible NULL pointer dereference X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org X-Virus-Scanned: ClamAV using ClamSMTP From: Marek Vasut 25165f79adc76b812bfb4d8f2ab120aafb28d0e6 ("ASoC: rsnd: enable clock-frequency for both 44.1kHz/48kHz") supports both 44.1kHz/48kHz clock-frequency settings for ADG which will be used for AUDIO_OLKOUTn. But some board doesn't need it, thus, it is not mandatory. But, above patch didn't care about the case of "clock-frequency" DT property was not present. This patch ignores ADG settings if AUDIO_OLKOUTn was not used. Signed-off-by: Marek Vasut [Kuninori: tidyup not to break non AUDIO_OLKOUTn case] Signed-off-by: Kuninori Morimoto --- > Marek I think this patch solves your issue sound/soc/sh/rcar/adg.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/sound/soc/sh/rcar/adg.c b/sound/soc/sh/rcar/adg.c index 96fef91..277774c 100644 --- a/sound/soc/sh/rcar/adg.c +++ b/sound/soc/sh/rcar/adg.c @@ -453,13 +453,18 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv, [CLKI] = 0x2, }; - of_property_read_u32(np, "#clock-cells", &count); + ckr = 0; + rbga = 2; /* default 1/6 */ + rbgb = 2; /* default 1/6 */ /* * ADG supports BRRA/BRRB output only * this means all clkout0/1/2/3 will be same rate */ prop = of_find_property(np, "clock-frequency", NULL);; + if (!prop) + goto rsnd_adg_get_clkout_end; + req_size = prop->length / sizeof(u32); of_property_read_u32_array(np, "clock-frequency", req_rate, req_size); @@ -472,6 +477,9 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv, req_48kHz_rate = req_rate[i]; } + if (req_rate[0] % 48000 == 0) + adg->flags = AUDIO_OUT_48; + /* * This driver is assuming that AUDIO_CLKA/AUDIO_CLKB/AUDIO_CLKC * have 44.1kHz or 48kHz base clocks for now. @@ -481,9 +489,6 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv, * rsnd_adg_ssi_clk_try_start() * rsnd_ssi_master_clk_start() */ - ckr = 0; - rbga = 2; /* default 1/6 */ - rbgb = 2; /* default 1/6 */ adg->rbga_rate_for_441khz = 0; adg->rbgb_rate_for_48khz = 0; for_each_rsnd_clk(clk, adg, i) { @@ -528,6 +533,7 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv, * this means all clkout0/1/2/3 will be * same rate */ + of_property_read_u32(np, "#clock-cells", &count); /* * for clkout */ @@ -557,13 +563,11 @@ static void rsnd_adg_get_clkout(struct rsnd_priv *priv, &adg->onecell); } +rsnd_adg_get_clkout_end: adg->ckr = ckr; adg->rbga = rbga; adg->rbgb = rbgb; - if (req_rate[0] % 48000 == 0) - adg->flags = AUDIO_OUT_48; - for_each_rsnd_clkout(clk, adg, i) dev_dbg(dev, "clkout %d : %p : %ld\n", i, clk, clk_get_rate(clk)); dev_dbg(dev, "BRGCKR = 0x%08x, BRRA/BRRB = 0x%x/0x%x\n",