]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
x86/mce: Don't remove sysfs if thresholding sysfs init fails
authorYazen Ghannam <yazen.ghannam@amd.com>
Tue, 24 Jun 2025 14:15:56 +0000 (14:15 +0000)
committerBorislav Petkov (AMD) <bp@alien8.de>
Thu, 26 Jun 2025 15:28:13 +0000 (17:28 +0200)
Currently, the MCE subsystem sysfs interface will be removed if the
thresholding sysfs interface fails to be created. A common failure is due to
new MCA bank types that are not recognized and don't have a short name set.

The MCA thresholding feature is optional and should not break the common MCE
sysfs interface. Also, new MCA bank types are occasionally introduced, and
updates will be needed to recognize them. But likewise, this should not break
the common sysfs interface.

Keep the MCE sysfs interface regardless of the status of the thresholding
sysfs interface.

Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Qiuxu Zhuo <qiuxu.zhuo@intel.com>
Reviewed-by: Tony Luck <tony.luck@intel.com>
Tested-by: Tony Luck <tony.luck@intel.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/20250624-wip-mca-updates-v4-1-236dd74f645f@amd.com
arch/x86/kernel/cpu/mce/core.c

index e9b3c5d4a52ed32165547e54db378d6683d119ca..07d61937427fb9aca32d32a8465c8befa9f6f505 100644 (file)
@@ -2801,15 +2801,9 @@ static int mce_cpu_dead(unsigned int cpu)
 static int mce_cpu_online(unsigned int cpu)
 {
        struct timer_list *t = this_cpu_ptr(&mce_timer);
-       int ret;
 
        mce_device_create(cpu);
-
-       ret = mce_threshold_create_device(cpu);
-       if (ret) {
-               mce_device_remove(cpu);
-               return ret;
-       }
+       mce_threshold_create_device(cpu);
        mce_reenable_cpu();
        mce_start_timer(t);
        return 0;