mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 19:51:31 -04:00
Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 RAS changes from Ingo Molnar: - SCI reporting for other error types not only correctable ones - GHES cleanups - Add the functionality to override error reporting agents as some machines are sporting a new extended error logging capability which, if done properly in the BIOS, makes a corresponding EDAC module redundant - PCIe AER tracepoint severity levels fix - Error path correction for the mce device init - MCE timer fix - Add more flexibility to the error injection (EINJ) debugfs interface * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, mce: Fix mce_start_timer semantics ACPI, APEI, GHES: Cleanup ghes memory error handling ACPI, APEI: Cleanup alignment-aware accesses ACPI, APEI, GHES: Do not report only correctable errors with SCI ACPI, APEI, EINJ: Changes to the ACPI/APEI/EINJ debugfs interface ACPI, eMCA: Combine eMCA/EDAC event reporting priority EDAC, sb_edac: Modify H/W event reporting policy EDAC: Add an edac_report parameter to EDAC PCI, AER: Fix severity usage in aer trace event x86, mce: Call put_device on device_register failure
This commit is contained in:
commit
fab5669d55
13 changed files with 183 additions and 54 deletions
|
|
@ -29,6 +29,25 @@ EXPORT_SYMBOL_GPL(edac_err_assert);
|
|||
|
||||
static atomic_t edac_subsys_valid = ATOMIC_INIT(0);
|
||||
|
||||
int edac_report_status = EDAC_REPORTING_ENABLED;
|
||||
EXPORT_SYMBOL_GPL(edac_report_status);
|
||||
|
||||
static int __init edac_report_setup(char *str)
|
||||
{
|
||||
if (!str)
|
||||
return -EINVAL;
|
||||
|
||||
if (!strncmp(str, "on", 2))
|
||||
set_edac_report_status(EDAC_REPORTING_ENABLED);
|
||||
else if (!strncmp(str, "off", 3))
|
||||
set_edac_report_status(EDAC_REPORTING_DISABLED);
|
||||
else if (!strncmp(str, "force", 5))
|
||||
set_edac_report_status(EDAC_REPORTING_FORCE);
|
||||
|
||||
return 0;
|
||||
}
|
||||
__setup("edac_report=", edac_report_setup);
|
||||
|
||||
/*
|
||||
* called to determine if there is an EDAC driver interested in
|
||||
* knowing an event (such as NMI) occurred
|
||||
|
|
|
|||
|
|
@ -1829,6 +1829,9 @@ static int sbridge_mce_check_error(struct notifier_block *nb, unsigned long val,
|
|||
struct mem_ctl_info *mci;
|
||||
struct sbridge_pvt *pvt;
|
||||
|
||||
if (get_edac_report_status() == EDAC_REPORTING_DISABLED)
|
||||
return NOTIFY_DONE;
|
||||
|
||||
mci = get_mci_for_node_id(mce->socketid);
|
||||
if (!mci)
|
||||
return NOTIFY_BAD;
|
||||
|
|
@ -2142,9 +2145,10 @@ static int __init sbridge_init(void)
|
|||
opstate_init();
|
||||
|
||||
pci_rc = pci_register_driver(&sbridge_driver);
|
||||
|
||||
if (pci_rc >= 0) {
|
||||
mce_register_decode_chain(&sbridge_mce_dec);
|
||||
if (get_edac_report_status() == EDAC_REPORTING_DISABLED)
|
||||
sbridge_printk(KERN_WARNING, "Loading driver, error reporting disabled.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue