• Fabio Estevam's avatar
    Revert "serial: imx: remove unbalanced clk_prepare" · 0c727a42
    Fabio Estevam authored
    This reverts commit 9e7b399d.
    
    Commit ("9e7b399d") causes the following warning and sometimes
    also hangs the system:
    
    ------------[ cut here ]------------
     WARNING: CPU: 0 PID: 0 at kernel/locking/mutex.c:868 mutex_trylock+0x20c/0x22c()
     DEBUG_LOCKS_WARN_ON(in_interrupt())
     Modules linked in:
    CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.2.0-rc7-next-20150818-00001-g14418a6 #4
    Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)
    Backtrace:
    [<80012f08>] (dump_backtrace) from [<800130a4>] (show_stack+0x18/0x1c)
    r6:00000364 r5:00000000 r4:00000000 r3:00000000
    [<8001308c>] (show_stack) from [<807902b8>] (dump_stack+0x88/0xa4)
    [<80790230>] (dump_stack) from [<8002a604>] (warn_slowpath_common+0x80/0xbc)
    r5:807945c4 r4:80ab3b50
    [<8002a584>] (warn_slowpath_common) from [<8002a6e4>] (warn_slowpath_fmt+0x38/0x40)
    r8:00000000 r7:8131100c r6:8054c3cc r5:8131300c r4:80b0a570
    [<8002a6b0>] (warn_slowpath_fmt) from [<807945c4>] (mutex_trylock+0x20c/0x22c)
    r3:8095d0d8 r2:8095ab28
    [<807943b8>] (mutex_trylock) from [<8054c3cc>] (clk_prepare_lock+0x14/0xf4)
    r7:8131100c r6:be3f0c80 r5:00000037 r4:be3f0c80
    [<8054c3b8>] (clk_prepare_lock) from [<8054dbfc>] (clk_prepare+0x18/0x30)
    r5:00000037 r4:be3f0c80
    [<8054dbe4>] (clk_prepare) from [<8036a600>] (imx_console_write+0x30/0x244)
    r4:812d0bc8 r3:8132b9a4
    
    To reproduce the problem we only need to let the board idle for something
    like 30 seconds.
    
    Tested on a imx6q-sabresd.
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
    Reviewed-by: default avatarEduardo Valentin <edubezval@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    0c727a42
imx.c 55.8 KB