mirror of https://gitee.com/openkylin/linux.git
serial: cpm_uart: call cpm_muram_init before registering console
Christophe reports that powerpc 8xx silently fails to 5.6-rc1. It turns out I was wrong about nobody relying on the lazy initialization of the cpm/qe muram in commitb6231ea2b3
(soc: fsl: qe: drop broken lazy call of cpm_muram_init()). Rather than reinstating the somewhat dubious lazy call (initializing a currently held spinlock, and implicitly doing a GFP_KERNEL under that spinlock), make sure that cpm_muram_init() is called early enough - I thought the calls from the subsys_initcalls were good enough, but when used by console drivers, that's obviously not the case. cpm_muram_init() is safe to call twice (there's an early return if it is already initialized), so keep the call from cpm_init() - in case SERIAL_CPM_CONSOLE=n. Fixes:b6231ea2b3
(soc: fsl: qe: drop broken lazy call of cpm_muram_init()) Reported-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Tested-by: Christophe Leroy <christophe.leroy@c-s.fr> Link: https://lore.kernel.org/r/20200213114342.21712-1-linux@rasmusvillemoes.dk Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
679aac5ead
commit
4508cf76b1
|
@ -1373,6 +1373,7 @@ static struct console cpm_scc_uart_console = {
|
|||
|
||||
static int __init cpm_uart_console_init(void)
|
||||
{
|
||||
cpm_muram_init();
|
||||
register_console(&cpm_scc_uart_console);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue