From: Li Zhong Date: Mon, 17 Nov 2014 02:52:30 +0000 (+0800) Subject: powerpc/pseries: Initialise nvram_pstore_info's buf_lock X-Git-Tag: firefly_0821_release~176^2~2621^2~22 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a49ab6eeebe5624d51466969a7bac611231eede8;p=firefly-linux-kernel-4.4.55.git powerpc/pseries: Initialise nvram_pstore_info's buf_lock nvram_pstore_info's buf_lock is not initialized before registering, which is clearly incorrect. It causes some strange behavior when trying to obtain the lock during kdump process. On a UP configuration, the console stopped for a couple of seconds, then "lockup suspected" warning printed out, but then it continued to run. So try lock fails, and lockup reported, but then arch_spin_lock() passes. Signed-off-by: Li Zhong [mpe: Edited changelog] Signed-off-by: Michael Ellerman --- diff --git a/arch/powerpc/platforms/pseries/nvram.c b/arch/powerpc/platforms/pseries/nvram.c index 11a3b617ef5d..054a0ed5c7ee 100644 --- a/arch/powerpc/platforms/pseries/nvram.c +++ b/arch/powerpc/platforms/pseries/nvram.c @@ -715,6 +715,8 @@ static int nvram_pstore_init(void) nvram_pstore_info.buf = oops_data; nvram_pstore_info.bufsize = oops_data_sz; + spin_lock_init(&nvram_pstore_info.buf_lock); + rc = pstore_register(&nvram_pstore_info); if (rc != 0) pr_err("nvram: pstore_register() failed, defaults to "