Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752330AbbKDDAW (ORCPT ); Tue, 3 Nov 2015 22:00:22 -0500 Received: from mail-bn1on0142.outbound.protection.outlook.com ([157.56.110.142]:8848 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750891AbbKDDAU (ORCPT ); Tue, 3 Nov 2015 22:00:20 -0500 X-Greylist: delayed 84530 seconds by postgrey-1.27 at vger.kernel.org; Tue, 03 Nov 2015 22:00:19 EST Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=freescale.com; From: Robin Gong To: , CC: , , Subject: [PATCH v1] Revert "serial: imx: remove unbalanced clk_prepare" Date: Wed, 4 Nov 2015 10:58:18 +0800 Message-ID: <1446605898-27635-1-git-send-email-b38343@freescale.com> X-Mailer: git-send-email 1.9.1 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BN1AFFO11FD018;1:8xVFc0lx3/1r8Q6H08UUqsxBwvo89+i+f323Pe+ool5pWAR/lxNpPQ+rTsePyZohMSPbPfc+PUdTZlyNwVxEn0mzUptdkC3XGPQWqgNvjzrf4PQOMbqHwmDnB1DHbnTIP0yyeCTGRaN8f8y2T3/cI8N4xunn47e49QyRCNKLak4wIYmCEwHkd65HgBmA84ss2dCNcQgpSnIPQicHO7NdynGk+orUmbLco/0iQww0mXIOGGsARdvVS4jP6BbPHVLgb7mDEDqHSHh75C35as92o+6/1C3WdaDvFErwNB7R3m6likxkqHdNNoChFw8tJczq4mecJ71/kuusHsxinsnvmlSFauEnvq01VTFZ0TfAuK5tmXhpiihm1Ax6yhYwOAkE+khm9La/yH7zY4p06x6wtQ== X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(1109001)(1110001)(339900001)(199003)(189002)(189998001)(5001960100002)(575784001)(92566002)(47776003)(50226001)(97736004)(81156007)(5001770100001)(5001920100001)(105606002)(50986999)(106466001)(229853001)(85426001)(19580405001)(19580395003)(87936001)(33646002)(6806005)(5003940100001)(104016004)(77096005)(50466002)(5007970100001)(5008740100001)(48376002)(11100500001)(36756003)(42262002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN3PR0301MB1219;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1219;2:tN9ATrTHscCZ+3KLM5Sd3IkmuuQhU076YF/VbGwta0nMeJ0I9NonuiTEQEyIm36q7m3MGmqtHx05is5b8PNUAHscAZgQL8im7Bl1dWncXJNr/xkNJF8HuZ5DzEqWNCA2dVELqTwKxqcNGATdys0vI18a0VXfXv8AZPBOqg9vNig=;3:O90I2MF0l3RwdBPQ4S8PEi2NEzBhsmCT+8yU1LuDaW83YhT8ZCvH01gvHaoKk8inBq5HJsyswhCpEzKHS42J8DAAaenq78v2MANIEaR2OMg5ad5BAf5Ue7hRuDdJUhPCDRSpx75OmQVbhwpoesbQ/g5qDhOuhMrTqU1jmxkb70ciYeAQ8SlJgbA4rAYSh3OZV4SWVZwGGQY1iw2eyfaa+X7/H09c6bqHF0G9FU4hd/c=;25:FouCKIRRjdcmafHEOKgnKwj1rTolYcTuXaWmo4gZ3GNITlMFNZ1aLFfF6LtZUGaF++LXdLNeLlfwvuIdNje3dczP+4vlr7GcICYDdV9/bSzH6h5lvPF1OVj19KrND1Khv9sTlromK/fkiLjtdcXcfw/+npohtc2LWNLqD7SUev4bBvQfoAVA/3yJ5+Y7AL8C2/nX+E5J6BPjUUhdO0vqLoQaGLF/vKganfBnL4No4T+nheKPVWqpOw69rGWvSSeU X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1219; X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1219;20:gE/nggnu5DaoWi3pls5lNPu4N+FnZUPp96OJZmIpdigTrCwDJtiQOgiCE10HigO5+kW/0+w/Y/+n3irE01kQvZBN1RNHlTfxyUY00YKuzwLSbq5Q2uPSDpf/4ESgiej9Ss2PikfA6Br7yZz22jYrcLHD0xn6VRsMg3Zi7dMfClAxXeyOqktVIElL8mSe4QUIuxaepAQTWT9+NYSVO+wNAaj5pbZd/Bw6VDLP87y1Phnch7LwAmJBAB/UjroxSKKH+/hFbAaQThF46d9VVKJAemHzYRk2qf8QIt65tKcU4kgmZkjFtYiqfcCu25dehl1LiAhIlbiVUoXvLBzdMBS++EQ1PGum9DGwl37xJuCFGOs=;4:oe0C7cmBN8d1/QqBaln1arew+HPEu6/gEbbFRxXF1tnaqnYM1NPaIdXypb8e+XXVL/jd6V3ARLc5mDirVnB7D1oJf7eN/164wQEa9NcPBKuQI6pU33IkswlGqxWdRtNVxrMvj8X89dpceb3lbJwzGnkxmmsQrQfsFNDyXwaXkCzIhxzqVL1FGz4WhKtjMPs5G8vCqEQyom3Rfb3RMovhg7FtWjX6SO4JL9jU27g6uzfxEasN6npy4fQBoB84IN/jQTZwfRZHxcjxOHe6no4jRLGmxl208fZRcf6QvfyZWDPWVZORvXLflL1V75DV8BmDAK4ntaBar5xkHPtgQTGDxVjDxZ2LF8HXgYmVi9B+mgeAljznWmDCU6zWpBV3fe+G X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(101931422205132); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(2401047)(520078)(5005006)(8121501046)(3002001)(10201501046);SRVR:BN3PR0301MB1219;BCL:0;PCL:0;RULEID:;SRVR:BN3PR0301MB1219; X-Forefront-PRVS: 0750463DC9 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BN3PR0301MB1219;23:9Xpx9yebNl4jt32K3BUAQihrw1W7wNM41P49DkX?= =?us-ascii?Q?m+2o3UYBDMUz37fZs3YioQToc4amiZEz0uAM97IuUs2Y4xj7zVME8ATJ3Gz/?= =?us-ascii?Q?g79HOF6DbeXE9sfVa93V+XNo1f1EzCPdcpJUyjSgRbiQETs9G3SDexQB0Yan?= =?us-ascii?Q?T+JorUfUjht32bOlp73iRiWbBQ5mWtAlOrCBxpHa4mJdkWTPQydwBXuDWawh?= =?us-ascii?Q?euQ9CDKlsZF+iiJZTWFRXRRDXISmr8/hI2f6layWz7ExQ0ENFfF4rPiyQChA?= =?us-ascii?Q?yWqYgJSGptsgh6DLFJlOnVs45P0Z0R9G2MX0nsZUZsIkHHiWDJ92tISQV/nH?= =?us-ascii?Q?MmuCc46YoD6hfxFLRkvQOOQqjPRim9UDh/YdaucnGfBiC7M36yW1to/7bzOa?= =?us-ascii?Q?EFY+yuNT3Q9StWf/YaeZOvF7QVl++nbBSXc9AikWxH5UY/dvoVLIk/jlM0dM?= =?us-ascii?Q?CzXs0IjH3UgRiEWaDdyg0pYGTrDR6Y6VPZ0mc+jQkVVCmckoS8OBaFUc1rD2?= =?us-ascii?Q?8lcpCOqXagQq2GkHagcxqMtLU+1G91l/onN89RoXgG8CXf1MSoiYFy0Kxpgg?= =?us-ascii?Q?SLbLnuRZ8tex6mNDb5GnHBJUGfiPs5EjLk2rkCqiiMBt8sF7WIyijCQxKZL5?= =?us-ascii?Q?wK/sJMHuH1Isr0N7p8L/SSKWG/sdrqg5DYrLmQnvI3EuGVH5B4hY4+dQePaV?= =?us-ascii?Q?x8tKKKOkw1u3sjCRjtFNq//efCsKBKgVVwqQ29ZbrmfkgwINFdItFdrGFTU8?= =?us-ascii?Q?WZFphUELlq0r9n0ziSJsuWNc3PyOcJi5TIKYFpZN40KH27hdYU0Gr1SI8reO?= =?us-ascii?Q?0D/V7ix1u6IJf+jmKwAFiZjIMcUdarwxiFoXO6bPB/Z+QwXYx9YWsJTJsIXe?= =?us-ascii?Q?IQYs9r2PbuTbNsB9jl1dY1/PH6ZyJkLbZjMW0P1fXa4AxS1uGTyBgP+Y87IP?= =?us-ascii?Q?mCcj01HDgq77xH1AKd05N94Y186L9xdXsWrltI08YjsZo2CcnN7jDlmG/D/Y?= =?us-ascii?Q?zjACQmWleox7ylcvPZn/mYRKAbMUimIhI/TMPGo3ubEm8ZA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN3PR0301MB1219;5:jOk3/eb3CrUZgJCVAcFjm3Tyc/y0UO9Qqv6D+1dlX/9OyaxvQb3GD9DV6oFXYnzwU9BXWVEUdqpl6vDx9b5QuUbWn9FBTMxjwojqIj4UGmf9LEj53wsp7BN1KyTOvAZS4vWCWj1sjzna2HXZbd2hcQ==;24:5OM1B+8n/BYtr5BF1PEAUf/D2E95lOzV1FkiO8WzrE4RyGOFcj+qHf63+//l2z89rwuQT7OJvQe3dC3mKKs4mHCvL8xbV4xQNcCxoPdTmEY=;20:8OE4s6CH1sxeXcvIlwKsmeuObYm8WlYbWPtO8Lj6a8k6VfPtAPMy/ug/g3ZwQTZG73CdP6KDaFP/X2tgD3k46A== X-OriginatorOrg: freescale.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2015 03:00:15.7740 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0301MB1219 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4000 Lines: 96 commit 9e7b399d6528 ("serial: imx: remove unbalanced clk_prepare"). Otherwise below warning happen since there are some printk logs in interrupt. [ 14.868319] udevd[501]: starting version 182 [ 16.386107] random: nonblocking pool is initialized [ 16.386123] ------------[ cut here ]------------ [ 16.386140] WARNING: CPU: 0 PID: 501 at kernel/locking/mutex.c:868 mutex_trylock+0x210/0x230() [ 16.386146] DEBUG_LOCKS_WARN_ON(in_interrupt()) [ 16.386149] Modules linked in: [ 16.386157] CPU: 0 PID: 501 Comm: udevd Not tainted 4.3.0-rc1-00014-gf843df8 #28 [ 16.386160] Hardware name: Freescale i.MX6 SoloX (Device Tree) [ 16.386165] Backtrace: [ 16.386182] [] (dump_backtrace) from [] (show_stack+0x18/0x1c) [ 16.386192] r6:c0af1840 r5:00000000 r4:00000000 r3:00000000 [ 16.386201] [] (show_stack) from [] (dump_stack+0x8c/0xa4) [ 16.386216] [] (dump_stack) from [] (warn_slowpath_common+0x80/0xbc) [ 16.386225] r6:c07b1ccc r5:00000009 r4:edcf5c60 r3:00000001 [ 16.386234] [] (warn_slowpath_common) from [] (warn_slowpath_fmt+0x38/0x40) [ 16.386246] r8:c0564694 r7:eeb76880 r6:c13323ec r5:00000001 r4:c0976990 [ 16.386255] [] (warn_slowpath_fmt) from [] (mutex_trylock+0x210/0x230) [ 16.386261] r3:c0978f50 r2:c0976990 [ 16.386264] r4:c0b29a70 [ 16.386278] [] (mutex_trylock) from [] (clk_prepare_lock+0x14/0xf4) [ 16.386289] r8:c133000c r7:eeb76880 r6:00000037 r5:c12efbc8 r4:eeb76880 [ 16.386297] [] (clk_prepare_lock) from [] (clk_prepare+0x18/0x38) [ 16.386303] r5:c12efbc8 r4:eeb76880 [ 16.386311] [] (clk_prepare) from [] (imx_console_write+0x34/0x248) [ 16.386317] r4:ee999c10 r3:c134a92c [ 16.386329] [] (imx_console_write) from [] (call_console_drivers.constprop.25+0xe0/0x104) [ 16.386342] r10:c07b938c r9:00000000 r8:c133000c r7:00000037 r6:edcf4000 r5:c12ef6c0 [ 16.386345] r4:c0afef38 [ 16.386355] [] (call_console_drivers.constprop.25) from [] (console_unlock+0x3fc/0x57c) [ 16.386367] r10:c132fff0 r9:00000100 r8:00000037 r7:00000000 r6:00000005 r5:c12f4df0 Signed-off-by: Robin Gong --- drivers/tty/serial/imx.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index fe3d41c..d0388a0 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -1631,12 +1631,12 @@ imx_console_write(struct console *co, const char *s, unsigned int count) int locked = 1; int retval; - retval = clk_prepare_enable(sport->clk_per); + retval = clk_enable(sport->clk_per); if (retval) return; - retval = clk_prepare_enable(sport->clk_ipg); + retval = clk_enable(sport->clk_ipg); if (retval) { - clk_disable_unprepare(sport->clk_per); + clk_disable(sport->clk_per); return; } @@ -1675,8 +1675,8 @@ imx_console_write(struct console *co, const char *s, unsigned int count) if (locked) spin_unlock_irqrestore(&sport->port.lock, flags); - clk_disable_unprepare(sport->clk_ipg); - clk_disable_unprepare(sport->clk_per); + clk_disable(sport->clk_ipg); + clk_disable(sport->clk_per); } /* @@ -1777,7 +1777,15 @@ imx_console_setup(struct console *co, char *options) retval = uart_set_options(&sport->port, co, baud, parity, bits, flow); - clk_disable_unprepare(sport->clk_ipg); + clk_disable(sport->clk_ipg); + if (retval) { + clk_unprepare(sport->clk_ipg); + goto error_console; + } + + retval = clk_prepare(sport->clk_per); + if (retval) + clk_disable_unprepare(sport->clk_ipg); error_console: return retval; -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/