x86/mce: Fix return value of mce_chrdev_read() when erst is disabled
[platform/adaptation/renesas_rcar/renesas_kernel.git] / arch / x86 / kernel / cpu / mcheck / mce.c
index 4979a5d..87c56ba 100644 (file)
@@ -1541,6 +1541,12 @@ static int __mce_read_apei(char __user **ubuf, size_t usize)
        /* Error or no more MCE record */
        if (rc <= 0) {
                mce_apei_read_done = 1;
+               /*
+                * When ERST is disabled, mce_chrdev_read() should return
+                * "no record" instead of "no device."
+                */
+               if (rc == -ENODEV)
+                       return 0;
                return rc;
        }
        rc = -EFAULT;