lkml.org 
[lkml]   [2015]   [Nov]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] serial: imx: fix clk_prepare/unprepare usage
On Mon, Nov 16, 2015 at 01:16:25PM +0100, Uwe Kleine-König wrote:
> On Thu, Nov 12, 2015 at 10:58:48AM +0100, Marcus Folkesson wrote:
> > clk_prepare/unprapare APIs are not allowed in atomic context, so
> > move prepare/unprepare to probe/remove and use clk_enable/disable
> > instead.
> >
> > Signed-off-by: Marcus Folkesson <marcus.folkesson@gmail.com>
>
> Do you see a problem? I don't claim your patch is wrong, I just wonder
> why nobody else noticed it earlier (including me).
>
> Best regards
> Uwe
>
> --
> Pengutronix e.K. | Uwe Kleine-König |
> Industrial Linux Solutions | http://www.pengutronix.de/ |


Sorry, seems like the cover-letter was never sent.
The patch solves this issue:


[ 6.374678] ------------[ cut here ]------------
[ 6.374716] WARNING: CPU: 0 PID: 113 at kernel/locking/mutex.c:868 mutex_trylock+0x234/0x238()
[ 6.374733] DEBUG_LOCKS_WARN_ON(in_interrupt())
[ 6.374741] Modules linked in:
[ 6.374762] CPU: 0 PID: 113 Comm: mmcqd/0 Not tainted 4.3.0-rc4-dirty #18
[ 6.374772] Hardware name: Freescale i.MX6 Ultralite (Device Tree)
[ 6.374785] Backtrace:
[ 6.374822] [<80013fe8>] (dump_backtrace) from [<800141d8>] (show_stack+0x18/0x1c)
[ 6.374856] r6:80726734 r5:00000000 r4:8081bd80 r3:00000000
[ 6.374890] [<800141c0>] (show_stack) from [<80235210>] (dump_stack+0x8c/0x9c)
[ 6.374920] [<80235184>] (dump_stack) from [<800264a8>] (warn_slowpath_common+0x88/0xb8)
[ 6.374940] r5:00000364 r4:9dc3b978
[ 6.374962] [<80026420>] (warn_slowpath_common) from [<80026510>] (warn_slowpath_fmt+0x38/0x40)
[ 6.374999] r8:8041270c r7:802b3f14 r6:810422ec r5:00000001 r4:80845494
[ 6.375024] [<800264dc>] (warn_slowpath_fmt) from [<805f571c>] (mutex_trylock+0x234/0x238)
[ 6.375042] r3:8072674c r2:80724180
[ 6.375072] [<805f54e8>] (mutex_trylock) from [<8041270c>] (clk_prepare_lock+0x18/0x100)
[ 6.375113] r9:00000037 r8:805fcc20 r7:802b3f14 r6:9e604e00 r5:00000037 r4:9e604e00
[ 6.375138] [<804126f4>] (clk_prepare_lock) from [<80413cd4>] (clk_prepare+0x18/0x38)
[ 6.375158] r5:00000037 r4:9e604e00
[ 6.375185] [<80413cbc>] (clk_prepare) from [<802b3f48>] (imx_console_write+0x34/0x230)
[ 6.375203] r4:80fffac8 r3:8105dd6c
[ 6.375236] [<802b3f14>] (imx_console_write) from [<80073d8c>] (call_console_drivers.constprop.13+0x108/0x120)
[ 6.375276] r10:00000000 r9:00000037 r8:805fcc20 r7:802b3f14 r6:9dc3a000 r5:80fff5c0
[ 6.375287] r4:80827a9c
[ 6.375317] [<80073c84>] (call_console_drivers.constprop.13) from [<80075088>] (console_unlock+0x4e0/0x5c4)
[ 6.375356] r10:00000006 r9:8103f4c0 r8:00000006 r7:00000000 r6:00000005 r5:00000037
[ 6.375369] r4:81002fb8
[ 6.375397] [<80074ba8>] (console_unlock) from [<800753e4>] (vprintk_emit+0x278/0x5e0)
[ 6.375437] r10:00000027 r9:00000000 r8:00000000 r7:00000005 r6:80fff5c0 r5:00000027
[ 6.375448] r4:00000001
[ 6.375474] [<8007516c>] (vprintk_emit) from [<800758b8>] (vprintk_default+0x2c/0x34)
[ 6.375515] r10:00001ffe r9:00001000 r8:00000008 r7:60000193 r6:80827e94 r5:80827e94
[ 6.375526] r4:80827cd8
[ 6.375557] [<8007588c>] (vprintk_default) from [<800c3da4>] (printk+0x38/0x40)
[ 6.375590] [<800c3d70>] (printk) from [<802b9b6c>] (credit_entropy_bits+0x2f4/0x300)
[ 6.375624] r3:00000000 r2:9e7df300 r1:80749354 r0:80749268
[ 6.375659] [<802b9878>] (credit_entropy_bits) from [<802bac34>] (add_interrupt_randomness+0x16c/0x1e8)
[ 6.375699] r10:8084ebf7 r9:000000d5 r8:9dc3bcc0 r7:80827dd0 r6:ffff8d4c r5:80827d9c
[ 6.375711] r4:9ebd2650
[ 6.375744] [<802baac8>] (add_interrupt_randomness) from [<80076ef8>] (handle_irq_event_percpu+0x98/0x138)
[ 6.375783] r9:9e4e6900 r8:000000d5 r7:00000080 r6:00000001 r5:00000001 r4:00000000
[ 6.375814] [<80076e60>] (handle_irq_event_percpu) from [<80076fe0>] (handle_irq_event+0x48/0x6c)
[ 6.375854] r10:9dc3bdbc r9:a0805000 r8:9e406000 r7:00000001 r6:9e7e9680 r5:9e4e6960
[ 6.375866] r4:9e4e6900
[ 6.375895] [<80076f98>] (handle_irq_event) from [<8007a00c>] (handle_fasteoi_irq+0xc0/0x194)
[ 6.375926] r6:8080dc88 r5:9e4e6960 r4:9e4e6900 r3:00000000
[ 6.375950] [<80079f4c>] (handle_fasteoi_irq) from [<800764f8>] (generic_handle_irq+0x2c/0x3c)
[ 6.375981] r7:00000001 r6:00000000 r5:00000000 r4:808015fc
[ 6.376009] [<800764cc>] (generic_handle_irq) from [<80076810>] (__handle_domain_irq+0x64/0xb8)
[ 6.376037] [<800767ac>] (__handle_domain_irq) from [<800094c0>] (gic_handle_irq+0x50/0x90)
[ 6.376077] r8:9dc3bcc0 r7:a080400c r6:8081c000 r5:80808834 r4:a0804000 r3:9dc3bcc0
[ 6.376101] [<80009470>] (gic_handle_irq) from [<80014eb8>] (__irq_svc+0x58/0x78)
[ 6.376113] Exception stack(0x9dc3bcc0 to 0x9dc3bd08)
[ 6.376139] bcc0: 00000001 00000001 00000000 9e7df300 9dc3bdc0 9dc3bdc0 00000002 9dc3a000
[ 6.376162] bce0: 00000000 00000000 9dc3bdbc 9dc3bd24 00000000 9dc3bd10 80069a88 805f9a04
[ 6.376174] bd00: 20000113 ffffffff
[ 6.376214] r9:00000000 r8:00000000 r7:9dc3bcf4 r6:ffffffff r5:20000113 r4:805f9a04
[ 6.376248] [<805f99d4>] (_raw_spin_unlock_irq) from [<805f5260>] (wait_for_common+0xb8/0x148)
[ 6.376266] r4:7fffffff r3:9e7df300
[ 6.376294] [<805f51a8>] (wait_for_common) from [<805f5308>] (wait_for_completion+0x18/0x1c)
[ 6.376334] r10:24590081 r9:00000000 r8:00000000 r7:9dc3bdbc r6:9dc3bdac r5:9e7fc800
[ 6.376346] r4:9dc3be14
[ 6.376376] [<805f52f0>] (wait_for_completion) from [<803d07a4>] (mmc_wait_for_req_done+0x84/0x110)
[ 6.376402] [<803d0720>] (mmc_wait_for_req_done) from [<803d08c4>] (mmc_wait_for_cmd+0x6c/0x8c)
[ 6.376442] r8:0000000d r7:00000015 r6:00000000 r5:9e7fc800 r4:9dc3be14 r3:00000000
[ 6.376468] [<803d0858>] (mmc_wait_for_cmd) from [<803d1790>] (mmc_do_erase+0x1bc/0x31c)
[ 6.376492] r6:0000776f r5:80808100 r4:9dc2c800
[ 6.376518] [<803d15d4>] (mmc_do_erase) from [<803d1a0c>] (mmc_erase+0x11c/0x1c0)
[ 6.376557] r10:24590081 r9:00086787 r8:00086780 r7:00000001 r6:00000008 r5:00000000
[ 6.376570] r4:9dc2c800
[ 6.376599] [<803d18f0>] (mmc_erase) from [<803e0adc>] (mmc_blk_issue_rq+0x434/0x4d8)
[ 6.376639] r9:00000000 r8:9dc2bc00 r7:9dc2c800 r6:9dc471a0 r5:9dc2c800 r4:9dc2bc24
[ 6.376667] [<803e06a8>] (mmc_blk_issue_rq) from [<803e20e0>] (mmc_queue_thread+0xb8/0x160)
[ 6.376707] r10:9dc471a0 r9:00000001 r8:24590081 r7:00000000 r6:9dc3a000 r5:9e71df90
[ 6.376720] r4:9dc2bc24
[ 6.376748] [<803e2028>] (mmc_queue_thread) from [<80045c20>] (kthread+0xf0/0x104)
[ 6.376789] r10:00000000 r9:00000000 r8:00000000 r7:803e2028 r6:9dc2bc24 r5:00000000
[ 6.376801] r4:9dc09400
[ 6.376829] [<80045b30>] (kthread) from [<8000faf0>] (ret_from_fork+0x14/0x24)
[ 6.376860] r7:00000000 r6:00000000 r5:80045b30 r4:9dc09400
[ 6.376871] ---[ end trace 98f7b2a2644c179a ]---
[


Best regards
Marcus Folkesson


\
 
 \ /
  Last update: 2015-11-16 15:21    [W:0.061 / U:0.576 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site