acpi: Eliminate console msg if pstore.backend excludes ERST
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / acpi / apei / erst.c
index 6d894bf..f7b3b39 100644 (file)
@@ -1180,20 +1180,28 @@ static int __init erst_init(void)
        if (!erst_erange.vaddr)
                goto err_release_erange;
 
+       pr_info(ERST_PFX
+       "Error Record Serialization Table (ERST) support is initialized.\n");
+
        buf = kmalloc(erst_erange.size, GFP_KERNEL);
        spin_lock_init(&erst_info.buf_lock);
        if (buf) {
                erst_info.buf = buf + sizeof(struct cper_pstore_record);
                erst_info.bufsize = erst_erange.size -
                                    sizeof(struct cper_pstore_record);
-               if (pstore_register(&erst_info)) {
-                       pr_info(ERST_PFX "Could not register with persistent store\n");
+               rc = pstore_register(&erst_info);
+               if (rc) {
+                       if (rc != -EPERM)
+                               pr_info(ERST_PFX
+                               "Could not register with persistent store\n");
+                       erst_info.buf = NULL;
+                       erst_info.bufsize = 0;
                        kfree(buf);
                }
-       }
-
-       pr_info(ERST_PFX
-       "Error Record Serialization Table (ERST) support is initialized.\n");
+       } else
+               pr_err(ERST_PFX
+               "Failed to allocate %lld bytes for persistent store error log\n",
+               erst_erange.size);
 
        return 0;