summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms/pseries/nvram.c
diff options
context:
space:
mode:
authorLi Zhong <zhong@linux.vnet.ibm.com>2014-11-17 10:52:30 +0800
committerMichael Ellerman <mpe@ellerman.id.au>2014-11-19 16:09:13 +1100
commita49ab6eeebe5624d51466969a7bac611231eede8 (patch)
tree5f907029857ad1aad276376699bbbdfd04f3f6cc /arch/powerpc/platforms/pseries/nvram.c
parent35891d40bfc4f41fc627abb757c0894c0028f3ab (diff)
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 <zhong@linux.vnet.ibm.com> [mpe: Edited changelog] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/platforms/pseries/nvram.c')
-rw-r--r--arch/powerpc/platforms/pseries/nvram.c2
1 files changed, 2 insertions, 0 deletions
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 "