From: Borislav Petkov Date: Mon, 16 Apr 2012 16:20:36 +0000 (+0200) Subject: x86, MCE, AMD: Hide interrupt_enable sysfs node X-Git-Tag: v2.6.39-400.9.0~538 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=30f137f0cf7304cc1213cb6504f806d7b7b44056;p=users%2Fjedix%2Flinux-maple.git x86, MCE, AMD: Hide interrupt_enable sysfs node Depending on whether the box supports the APIC LVT interrupt for thresholding, we want to show the 'interrupt_enable' sysfs node or not. Make that the case by adding it to the default sysfs attributes only if it is supported. Signed-off-by: Borislav Petkov --- diff --git a/arch/x86/kernel/cpu/mcheck/mce_amd.c b/arch/x86/kernel/cpu/mcheck/mce_amd.c index 79a114895478..29e6d372fd99 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_amd.c +++ b/arch/x86/kernel/cpu/mcheck/mce_amd.c @@ -394,10 +394,10 @@ RW_ATTR(threshold_limit); RW_ATTR(error_count); static struct attribute *default_attrs[] = { - &interrupt_enable.attr, &threshold_limit.attr, &error_count.attr, - NULL + NULL, /* possibly interrupt_enable if supported, see below */ + NULL, }; #define to_block(k) container_of(k, struct threshold_block, kobj) @@ -473,6 +473,11 @@ static __cpuinit int allocate_threshold_blocks(unsigned int cpu, b->interrupt_enable = 0; b->threshold_limit = THRESHOLD_MAX; + if (b->interrupt_capable) + threshold_ktype.default_attrs[2] = &interrupt_enable.attr; + else + threshold_ktype.default_attrs[2] = NULL; + INIT_LIST_HEAD(&b->miscj); if (per_cpu(threshold_banks, cpu)[bank]->blocks) {