* Warnings from drivers/clk/clk.c @ 2018-01-10 23:29 Fabio Estevam 2018-01-11 8:08 ` Uwe Kleine-König 2018-01-11 21:19 ` Stephen Boyd 0 siblings, 2 replies; 11+ messages in thread From: Fabio Estevam @ 2018-01-10 23:29 UTC (permalink / raw) To: Stephen Boyd; +Cc: Sascha Hauer, Dong Aisheng, linux-clk, Michael Turquette Hi, Bootling linux-next 20180110 on a imx53-qsb leads to the following warning that gets repeated several times: [ 2.776154] ------------[ cut here ]------------ [ 2.780909] WARNING: CPU: 0 PID: 1 at ../drivers/clk/clk.c:802 clk_core_disable+0xc4/0xe0 [ 2.789107] Modules linked in: [ 2.792198] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.15.0-rc7-next-20180110 #1 [ 2.799696] Hardware name: Freescale i.MX53 (Device Tree Support) [ 2.805805] Backtrace: [ 2.808290] [<c010d1a0>] (dump_backtrace) from [<c010d460>] (show_stack+0x18/0x1c) [ 2.815879] r7:00000000 r6:60000093 r5:00000000 r4:c1079954 [ 2.821566] [<c010d448>] (show_stack) from [<c0a33bac>] (dump_stack+0xb4/0xe8) [ 2.828813] [<c0a33af8>] (dump_stack) from [<c0126144>] (__warn+0xf0/0x11c) [ 2.835795] r9:00000000 r8:00000322 r7:00000009 r6:c0d425e8 r5:00000000 r4:00000000 [ 2.843558] [<c0126054>] (__warn) from [<c0126288>] (warn_slowpath_null+0x44/0x50) [ 2.851148] r8:c1008908 r7:c0e0777c r6:c04be730 r5:00000322 r4:c0d425e8 [ 2.857870] [<c0126244>] (warn_slowpath_null) from [<c04be730>] (clk_core_disable+0xc4/0xe0) [ 2.866325] r6:dc02bb00 r5:dc02a980 r4:dc02a980 [ 2.870965] [<c04be66c>] (clk_core_disable) from [<c04bf9e8>] (clk_core_disable_lock+0x20/0x2c) [ 2.879681] r5:dc02a980 r4:80000013 [ 2.883278] [<c04bf9c8>] (clk_core_disable_lock) from [<c04bfa18>] (clk_disable+0x24/0x28) [ 2.891559] r5:c0f6b3e4 r4:0000001c [ 2.895160] [<c04bf9f4>] (clk_disable) from [<c0f233b0>] (imx_clk_disable_uart+0x50/0x68) [ 2.903365] [<c0f23360>] (imx_clk_disable_uart) from [<c010277c>] (do_one_initcall+0x50/0x19c) [ 2.911996] r7:c0e0777c r6:c0f63854 r5:c0f23360 r4:ffffe000 [ 2.917678] [<c010272c>] (do_one_initcall) from [<c0f00f00>] (kernel_init_freeable+0x118/0x1d0) [ 2.926397] r9:c0f63858 r8:000000f0 r7:c0e0777c r6:c0f63854 r5:c107b540 r4:c0f7525c [ 2.934169] [<c0f00de8>] (kernel_init_freeable) from [<c0a48ec8>] (kernel_init+0x10/0x118) [ 2.942456] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0a48eb8 [ 2.950301] r4:00000000 [ 2.952857] [<c0a48eb8>] (kernel_init) from [<c01010b4>] (ret_from_fork+0x14/0x20) [ 2.960444] Exception stack(0xdc05dfb0 to 0xdc05dff8) [ 2.965516] dfa0: 00000000 00000000 00000000 00000000 [ 2.973715] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 [ 2.981912] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 [ 2.988543] r5:c0a48eb8 r4:00000000 [ 2.992135] ---[ end trace 5c23aee63f870994 ]--- [ 2.997359] ------------[ cut here ]------------ Does anyone have any ideas on how to fix it? Thanks ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-10 23:29 Warnings from drivers/clk/clk.c Fabio Estevam @ 2018-01-11 8:08 ` Uwe Kleine-König 2018-01-11 9:58 ` Lucas Stach 2018-01-15 12:24 ` Fabio Estevam 2018-01-11 21:19 ` Stephen Boyd 1 sibling, 2 replies; 11+ messages in thread From: Uwe Kleine-König @ 2018-01-11 8:08 UTC (permalink / raw) To: Fabio Estevam Cc: Stephen Boyd, Dong Aisheng, Michael Turquette, linux-clk, Sascha Hauer On Wed, Jan 10, 2018 at 09:29:02PM -0200, Fabio Estevam wrote: > Hi, > > Bootling linux-next 20180110 on a imx53-qsb leads to the following > warning that gets repeated several times: > > > [ 2.776154] ------------[ cut here ]------------ > [ 2.780909] WARNING: CPU: 0 PID: 1 at ../drivers/clk/clk.c:802 clk_core_disable+0xc4/0xe0 that's: static void clk_core_disable(struct clk_core *core) { ... if (WARN_ON(core->enable_count == 0)) return; > [ 2.789107] Modules linked in: > [ 2.792198] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.15.0-rc7-next-20180110 #1 > [ 2.799696] Hardware name: Freescale i.MX53 (Device Tree Support) > [ 2.805805] Backtrace: > [ 2.808290] [<c010d1a0>] (dump_backtrace) from [<c010d460>] (show_stack+0x18/0x1c) > [ 2.815879] r7:00000000 r6:60000093 r5:00000000 r4:c1079954 > [ 2.821566] [<c010d448>] (show_stack) from [<c0a33bac>] (dump_stack+0xb4/0xe8) > [ 2.828813] [<c0a33af8>] (dump_stack) from [<c0126144>] (__warn+0xf0/0x11c) > [ 2.835795] r9:00000000 r8:00000322 r7:00000009 r6:c0d425e8 r5:00000000 r4:00000000 > [ 2.843558] [<c0126054>] (__warn) from [<c0126288>] (warn_slowpath_null+0x44/0x50) > [ 2.851148] r8:c1008908 r7:c0e0777c r6:c04be730 r5:00000322 r4:c0d425e8 > [ 2.857870] [<c0126244>] (warn_slowpath_null) from [<c04be730>] (clk_core_disable+0xc4/0xe0) > [ 2.866325] r6:dc02bb00 r5:dc02a980 r4:dc02a980 > [ 2.870965] [<c04be66c>] (clk_core_disable) from [<c04bf9e8>] (clk_core_disable_lock+0x20/0x2c) > [ 2.879681] r5:dc02a980 r4:80000013 > [ 2.883278] [<c04bf9c8>] (clk_core_disable_lock) from [<c04bfa18>] (clk_disable+0x24/0x28) > [ 2.891559] r5:c0f6b3e4 r4:0000001c > [ 2.895160] [<c04bf9f4>] (clk_disable) from [<c0f233b0>] (imx_clk_disable_uart+0x50/0x68) > [ 2.903365] [<c0f23360>] (imx_clk_disable_uart) from [<c010277c>] (do_one_initcall+0x50/0x19c) > [ 2.911996] r7:c0e0777c r6:c0f63854 r5:c0f23360 r4:ffffe000 > [ 2.917678] [<c010272c>] (do_one_initcall) from [<c0f00f00>] (kernel_init_freeable+0x118/0x1d0) > [ 2.926397] r9:c0f63858 r8:000000f0 r7:c0e0777c r6:c0f63854> r5:c107b540 r4:c0f7525c > [ 2.934169] [<c0f00de8>] (kernel_init_freeable) from [<c0a48ec8>] (kernel_init+0x10/0x118) > [ 2.942456] r10:00000000 r9:00000000 r8:00000000 r7:00000000 r6:00000000 r5:c0a48eb8 > [ 2.950301] r4:00000000 > [ 2.952857] [<c0a48eb8>] (kernel_init) from [<c01010b4>] (ret_from_fork+0x14/0x20) > [ 2.960444] Exception stack(0xdc05dfb0 to 0xdc05dff8) > [ 2.965516] dfa0: 00000000 00000000 00000000 00000000 > [ 2.973715] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 > [ 2.981912] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 > [ 2.988543] r5:c0a48eb8 r4:00000000 > [ 2.992135] ---[ end trace 5c23aee63f870994 ]--- > [ 2.997359] ------------[ cut here ]------------ > > Does anyone have any ideas on how to fix it? Without earlycon or earlyprintk imx_clk_disable_uart is a noop. Does this also happen when these are not given? Does this also happen when clk_ignore_unused is on the command line? My guess is that imx_register_uart_clocks() enables the uart clocks, clk_disable_unused() then disables the unused ones and imx_clk_disable_uart() disables them once more. Best regards Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-11 8:08 ` Uwe Kleine-König @ 2018-01-11 9:58 ` Lucas Stach 2018-01-15 12:24 ` Fabio Estevam 1 sibling, 0 replies; 11+ messages in thread From: Lucas Stach @ 2018-01-11 9:58 UTC (permalink / raw) To: Uwe Kleine-König, Fabio Estevam Cc: Dong Aisheng, Michael Turquette, Stephen Boyd, linux-clk, Sascha Hauer Am Donnerstag, den 11.01.2018, 09:08 +0100 schrieb Uwe Kleine-König: > On Wed, Jan 10, 2018 at 09:29:02PM -0200, Fabio Estevam wrote: > > Hi, > > > > Bootling linux-next 20180110 on a imx53-qsb leads to the following > > warning that gets repeated several times: > > > > > > [ 2.776154] ------------[ cut here ]------------ > > [ 2.780909] WARNING: CPU: 0 PID: 1 at ../drivers/clk/clk.c:802 > > clk_core_disable+0xc4/0xe0 > > that's: > > static void clk_core_disable(struct clk_core *core) > { > ... > if (WARN_ON(core->enable_count == 0)) > return; > > > > [ 2.789107] Modules linked in: > > [ 2.792198] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.15.0- > > rc7-next-20180110 #1 > > [ 2.799696] Hardware name: Freescale i.MX53 (Device Tree > > Support) > > [ 2.805805] Backtrace: > > [ 2.808290] [<c010d1a0>] (dump_backtrace) from [<c010d460>] > > (show_stack+0x18/0x1c) > > [ 2.815879] r7:00000000 r6:60000093 r5:00000000 r4:c1079954 > > [ 2.821566] [<c010d448>] (show_stack) from [<c0a33bac>] > > (dump_stack+0xb4/0xe8) > > [ 2.828813] [<c0a33af8>] (dump_stack) from [<c0126144>] > > (__warn+0xf0/0x11c) > > [ 2.835795] r9:00000000 r8:00000322 r7:00000009 r6:c0d425e8 > > r5:00000000 r4:00000000 > > [ 2.843558] [<c0126054>] (__warn) from [<c0126288>] > > (warn_slowpath_null+0x44/0x50) > > [ 2.851148] r8:c1008908 r7:c0e0777c r6:c04be730 r5:00000322 > > r4:c0d425e8 > > [ 2.857870] [<c0126244>] (warn_slowpath_null) from [<c04be730>] > > (clk_core_disable+0xc4/0xe0) > > [ 2.866325] r6:dc02bb00 r5:dc02a980 r4:dc02a980 > > [ 2.870965] [<c04be66c>] (clk_core_disable) from [<c04bf9e8>] > > (clk_core_disable_lock+0x20/0x2c) > > [ 2.879681] r5:dc02a980 r4:80000013 > > [ 2.883278] [<c04bf9c8>] (clk_core_disable_lock) from > > [<c04bfa18>] (clk_disable+0x24/0x28) > > [ 2.891559] r5:c0f6b3e4 r4:0000001c > > [ 2.895160] [<c04bf9f4>] (clk_disable) from [<c0f233b0>] > > (imx_clk_disable_uart+0x50/0x68) > > [ 2.903365] [<c0f23360>] (imx_clk_disable_uart) from > > [<c010277c>] (do_one_initcall+0x50/0x19c) > > [ 2.911996] r7:c0e0777c r6:c0f63854 r5:c0f23360 r4:ffffe000 > > [ 2.917678] [<c010272c>] (do_one_initcall) from [<c0f00f00>] > > (kernel_init_freeable+0x118/0x1d0) > > [ 2.926397] r9:c0f63858 r8:000000f0 r7:c0e0777c r6:c0f63854> > > r5:c107b540 r4:c0f7525c > > [ 2.934169] [<c0f00de8>] (kernel_init_freeable) from > > [<c0a48ec8>] (kernel_init+0x10/0x118) > > [ 2.942456] r10:00000000 r9:00000000 r8:00000000 r7:00000000 > > r6:00000000 r5:c0a48eb8 > > [ 2.950301] r4:00000000 > > [ 2.952857] [<c0a48eb8>] (kernel_init) from [<c01010b4>] > > (ret_from_fork+0x14/0x20) > > [ 2.960444] Exception stack(0xdc05dfb0 to 0xdc05dff8) > > [ 2.965516] dfa0: 00000000 > > 00000000 00000000 00000000 > > [ 2.973715] dfc0: 00000000 00000000 00000000 00000000 00000000 > > 00000000 00000000 00000000 > > [ 2.981912] dfe0: 00000000 00000000 00000000 00000000 00000013 > > 00000000 > > [ 2.988543] r5:c0a48eb8 r4:00000000 > > [ 2.992135] ---[ end trace 5c23aee63f870994 ]--- > > [ 2.997359] ------------[ cut here ]------------ > > > > Does anyone have any ideas on how to fix it? > > Without earlycon or earlyprintk imx_clk_disable_uart is a noop. Does > this also happen when these are not given? Does this also happen when > clk_ignore_unused is on the command line? > > My guess is that imx_register_uart_clocks() enables the uart clocks, > clk_disable_unused() then disables the unused ones If they are enabled, they are no longer unused. Regards, Lucas > and > imx_clk_disable_uart() disables them once more. > > Best regards > Uwe > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-11 8:08 ` Uwe Kleine-König 2018-01-11 9:58 ` Lucas Stach @ 2018-01-15 12:24 ` Fabio Estevam 1 sibling, 0 replies; 11+ messages in thread From: Fabio Estevam @ 2018-01-15 12:24 UTC (permalink / raw) To: Uwe Kleine-König Cc: Stephen Boyd, Dong Aisheng, Michael Turquette, linux-clk, Sascha Hauer Hi Uwe, On Thu, Jan 11, 2018 at 6:08 AM, Uwe Kleine-K=C3=B6nig <u.kleine-koenig@pengutronix.de> wrote: > Without earlycon or earlyprintk imx_clk_disable_uart is a noop. Does > this also happen when these are not given? Does this also happen when > clk_ignore_unused is on the command line? Yes, it happens without earlycon or earlyprintk. The warnings also happens if I pass 'clk_ignore_unused'. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-10 23:29 Warnings from drivers/clk/clk.c Fabio Estevam 2018-01-11 8:08 ` Uwe Kleine-König @ 2018-01-11 21:19 ` Stephen Boyd 2018-01-11 21:29 ` Uwe Kleine-König ` (2 more replies) 1 sibling, 3 replies; 11+ messages in thread From: Stephen Boyd @ 2018-01-11 21:19 UTC (permalink / raw) To: Fabio Estevam; +Cc: Sascha Hauer, Dong Aisheng, linux-clk, Michael Turquette On 01/10, Fabio Estevam wrote: > Hi, > > Bootling linux-next 20180110 on a imx53-qsb leads to the following > warning that gets repeated several times: > > > [ 2.776154] ------------[ cut here ]------------ > [ 2.780909] WARNING: CPU: 0 PID: 1 at ../drivers/clk/clk.c:802 > clk_core_disable+0xc4/0xe0 We have two WARN_ON in this function. Do you know which one hit (makes me think we should put a printk in here now and also include the clk name). > [ 2.789107] Modules linked in: > [ 2.792198] CPU: 0 PID: 1 Comm: swapper/0 Not tainted > 4.15.0-rc7-next-20180110 #1 > [ 2.799696] Hardware name: Freescale i.MX53 (Device Tree Support) > [ 2.805805] Backtrace: > [ 2.808290] [<c010d1a0>] (dump_backtrace) from [<c010d460>] > (show_stack+0x18/0x1c) > [ 2.815879] r7:00000000 r6:60000093 r5:00000000 r4:c1079954 > [ 2.821566] [<c010d448>] (show_stack) from [<c0a33bac>] > (dump_stack+0xb4/0xe8) > [ 2.828813] [<c0a33af8>] (dump_stack) from [<c0126144>] (__warn+0xf0/0x11c) > [ 2.835795] r9:00000000 r8:00000322 r7:00000009 r6:c0d425e8 > r5:00000000 r4:00000000 > [ 2.843558] [<c0126054>] (__warn) from [<c0126288>] > (warn_slowpath_null+0x44/0x50) > [ 2.851148] r8:c1008908 r7:c0e0777c r6:c04be730 r5:00000322 r4:c0d425e8 > [ 2.857870] [<c0126244>] (warn_slowpath_null) from [<c04be730>] > (clk_core_disable+0xc4/0xe0) > [ 2.866325] r6:dc02bb00 r5:dc02a980 r4:dc02a980 > [ 2.870965] [<c04be66c>] (clk_core_disable) from [<c04bf9e8>] > (clk_core_disable_lock+0x20/0x2c) > [ 2.879681] r5:dc02a980 r4:80000013 > [ 2.883278] [<c04bf9c8>] (clk_core_disable_lock) from [<c04bfa18>] > (clk_disable+0x24/0x28) > [ 2.891559] r5:c0f6b3e4 r4:0000001c > [ 2.895160] [<c04bf9f4>] (clk_disable) from [<c0f233b0>] > (imx_clk_disable_uart+0x50/0x68) > [ 2.903365] [<c0f23360>] (imx_clk_disable_uart) from [<c010277c>] > (do_one_initcall+0x50/0x19c) Perhaps some critical clk is also in the uart clk list? Otherwise, there's some sort of imbalance causing a uart clk to be disabled more than it's been enabled? I don't see any crtical clk markings in the imx driver, so maybe it's some sort of improper double disable? -- Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-11 21:19 ` Stephen Boyd @ 2018-01-11 21:29 ` Uwe Kleine-König 2018-01-15 12:14 ` Fabio Estevam 2018-01-15 16:48 ` Fabio Estevam 2 siblings, 0 replies; 11+ messages in thread From: Uwe Kleine-König @ 2018-01-11 21:29 UTC (permalink / raw) To: Stephen Boyd Cc: Fabio Estevam, Dong Aisheng, Michael Turquette, linux-clk, Sascha Hauer On Thu, Jan 11, 2018 at 01:19:48PM -0800, Stephen Boyd wrote: > On 01/10, Fabio Estevam wrote: > > Hi, > > > > Bootling linux-next 20180110 on a imx53-qsb leads to the following > > warning that gets repeated several times: > > > > > > [ 2.776154] ------------[ cut here ]------------ > > [ 2.780909] WARNING: CPU: 0 PID: 1 at ../drivers/clk/clk.c:802 > > clk_core_disable+0xc4/0xe0 > > We have two WARN_ON in this function. Do you know which one hit > (makes me think we should put a printk in here now and also > include the clk name). It's the one in line 802 as noted above :-) Uwe -- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-11 21:19 ` Stephen Boyd 2018-01-11 21:29 ` Uwe Kleine-König @ 2018-01-15 12:14 ` Fabio Estevam 2018-01-15 12:56 ` Fabio Estevam 2018-01-15 16:48 ` Fabio Estevam 2 siblings, 1 reply; 11+ messages in thread From: Fabio Estevam @ 2018-01-15 12:14 UTC (permalink / raw) To: Stephen Boyd; +Cc: Sascha Hauer, Dong Aisheng, linux-clk, Michael Turquette Hi Stephen, On Thu, Jan 11, 2018 at 7:19 PM, Stephen Boyd <sboyd@codeaurora.org> wrote: > We have two WARN_ON in this function. Do you know which one hit > (makes me think we should put a printk in here now and also > include the clk name). The two WARN_ON() places are hit. Please see the complete log at: https://storage.kernelci.org/next/master/next-20180115/arm/imx_v6_v7_defconfig/lab-pengutronix/boot-imx53-qsrb.txt ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-15 12:14 ` Fabio Estevam @ 2018-01-15 12:56 ` Fabio Estevam 0 siblings, 0 replies; 11+ messages in thread From: Fabio Estevam @ 2018-01-15 12:56 UTC (permalink / raw) To: Stephen Boyd; +Cc: Sascha Hauer, Dong Aisheng, linux-clk, Michael Turquette On Mon, Jan 15, 2018 at 10:14 AM, Fabio Estevam <festevam@gmail.com> wrote: > Hi Stephen, > > On Thu, Jan 11, 2018 at 7:19 PM, Stephen Boyd <sboyd@codeaurora.org> wrote: > >> We have two WARN_ON in this function. Do you know which one hit >> (makes me think we should put a printk in here now and also >> include the clk name). > > The two WARN_ON() places are hit. > > Please see the complete log at: > https://storage.kernelci.org/next/master/next-20180115/arm/imx_v6_v7_defconfig/lab-pengutronix/boot-imx53-qsrb.txt Ok, I managed to fix the issue. Will send a patch shortly. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-11 21:19 ` Stephen Boyd 2018-01-11 21:29 ` Uwe Kleine-König 2018-01-15 12:14 ` Fabio Estevam @ 2018-01-15 16:48 ` Fabio Estevam 2018-01-16 9:42 ` Geert Uytterhoeven 2 siblings, 1 reply; 11+ messages in thread From: Fabio Estevam @ 2018-01-15 16:48 UTC (permalink / raw) To: Stephen Boyd; +Cc: Sascha Hauer, Dong Aisheng, linux-clk, Michael Turquette Hi Stephen, On Thu, Jan 11, 2018 at 7:19 PM, Stephen Boyd <sboyd@codeaurora.org> wrote: > We have two WARN_ON in this function. Do you know which one hit > (makes me think we should put a printk in here now and also > include the clk name). Yes, having the clk name that causes the warning really helps debugging. Do you mean like this? diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c index 0f686a9..6fed292 100644 --- a/drivers/clk/clk.c +++ b/drivers/clk/clk.c @@ -681,8 +681,12 @@ static void clk_core_unprepare(struct clk_core *core) if (!core) return; - if (WARN_ON(core->prepare_count == 0)) + if (core->prepare_count == 0) { + pr_err("%s: %s called with enable_count not zero\n", + __func__, core->name); + WARN_ON(1); return; + } if (WARN_ON(core->prepare_count == 1 && core->flags & CLK_IS_CRITICAL)) return; @@ -808,9 +812,14 @@ static void clk_core_disable(struct clk_core *core) if (!core) return; - if (WARN_ON(core->enable_count == 0)) + if (core->enable_count == 0) { + pr_err("%s: %s called with enable_count not zero\n", + __func__, core->name); + WARN_ON(1); return; + } + if (WARN_ON(core->enable_count == 1 && core->flags & CLK_IS_CRITICAL)) return; ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-15 16:48 ` Fabio Estevam @ 2018-01-16 9:42 ` Geert Uytterhoeven 2018-01-16 9:45 ` Fabio Estevam 0 siblings, 1 reply; 11+ messages in thread From: Geert Uytterhoeven @ 2018-01-16 9:42 UTC (permalink / raw) To: Fabio Estevam Cc: Stephen Boyd, Sascha Hauer, Dong Aisheng, linux-clk, Michael Turquette Hi Fabio, On Mon, Jan 15, 2018 at 5:48 PM, Fabio Estevam <festevam@gmail.com> wrote: > On Thu, Jan 11, 2018 at 7:19 PM, Stephen Boyd <sboyd@codeaurora.org> wrote: >> We have two WARN_ON in this function. Do you know which one hit >> (makes me think we should put a printk in here now and also >> include the clk name). > > Yes, having the clk name that causes the warning really helps debugging. > > Do you mean like this? > > diff --git a/drivers/clk/clk.c b/drivers/clk/clk.c > index 0f686a9..6fed292 100644 > --- a/drivers/clk/clk.c > +++ b/drivers/clk/clk.c > @@ -681,8 +681,12 @@ static void clk_core_unprepare(struct clk_core *core) > if (!core) > return; > > - if (WARN_ON(core->prepare_count == 0)) > + if (core->prepare_count == 0) { > + pr_err("%s: %s called with enable_count not zero\n", > + __func__, core->name); > + WARN_ON(1); > return; > + } I believe you can just replace WARN_ON() by WARN(condition, format...)? Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Warnings from drivers/clk/clk.c 2018-01-16 9:42 ` Geert Uytterhoeven @ 2018-01-16 9:45 ` Fabio Estevam 0 siblings, 0 replies; 11+ messages in thread From: Fabio Estevam @ 2018-01-16 9:45 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Stephen Boyd, Sascha Hauer, Dong Aisheng, linux-clk, Michael Turquette Hi Geert, On Tue, Jan 16, 2018 at 7:42 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote: > I believe you can just replace WARN_ON() by WARN(condition, format...)? Yes, this looks nicer. Thanks for the hint! ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2018-01-16 9:45 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-01-10 23:29 Warnings from drivers/clk/clk.c Fabio Estevam 2018-01-11 8:08 ` Uwe Kleine-König 2018-01-11 9:58 ` Lucas Stach 2018-01-15 12:24 ` Fabio Estevam 2018-01-11 21:19 ` Stephen Boyd 2018-01-11 21:29 ` Uwe Kleine-König 2018-01-15 12:14 ` Fabio Estevam 2018-01-15 12:56 ` Fabio Estevam 2018-01-15 16:48 ` Fabio Estevam 2018-01-16 9:42 ` Geert Uytterhoeven 2018-01-16 9:45 ` Fabio Estevam
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.