lkml.org 
[lkml]   [2013]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 7/9] ACPI, APEI, CPER: Enhance memory reporting capability
    Date
    After H/W error happens under FFM enabled mode, lots of information
    are shown but some important parts like DIMM location missed. This
    patch is used to show these extra fileds.

    Original-author: Tony Luck <tony.luck@intel.com>
    Signed-off-by: Chen, Gong <gong.chen@linux.intel.com>
    Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Acked-by: Borislav Petkov <bp@suse.de>
    Reviewed-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    ---
    drivers/acpi/apei/cper.c | 12 ++++++++++++
    1 file changed, 12 insertions(+)

    diff --git a/drivers/acpi/apei/cper.c b/drivers/acpi/apei/cper.c
    index 946ef52..b1a8a55 100644
    --- a/drivers/acpi/apei/cper.c
    +++ b/drivers/acpi/apei/cper.c
    @@ -28,6 +28,7 @@
    #include <linux/module.h>
    #include <linux/time.h>
    #include <linux/cper.h>
    +#include <linux/dmi.h>
    #include <linux/acpi.h>
    #include <linux/pci.h>
    #include <linux/aer.h>
    @@ -210,6 +211,8 @@ static void cper_print_mem(const char *pfx, const struct cper_sec_mem_err *mem)
    printk("%s""card: %d\n", pfx, mem->card);
    if (mem->validation_bits & CPER_MEM_VALID_MODULE)
    printk("%s""module: %d\n", pfx, mem->module);
    + if (mem->validation_bits & CPER_MEM_VALID_RANK_NUMBER)
    + printk("%s""rank: %d\n", pfx, mem->rank);
    if (mem->validation_bits & CPER_MEM_VALID_BANK)
    printk("%s""bank: %d\n", pfx, mem->bank);
    if (mem->validation_bits & CPER_MEM_VALID_DEVICE)
    @@ -232,6 +235,15 @@ static void cper_print_mem(const char *pfx, const struct cper_sec_mem_err *mem)
    etype < ARRAY_SIZE(cper_mem_err_type_strs) ?
    cper_mem_err_type_strs[etype] : "unknown");
    }
    + if (mem->validation_bits & CPER_MEM_VALID_MODULE_HANDLE) {
    + const char *bank = NULL, *device = NULL;
    + dmi_memdev_name(mem->mem_dev_handle, &bank, &device);
    + if (bank != NULL && device != NULL)
    + printk("%s""DIMM location: %s %s", pfx, bank, device);
    + else
    + printk("%s""DIMM DMI handle: 0x%.4x",
    + pfx, mem->mem_dev_handle);
    + }
    }

    static const char *cper_pcie_port_type_strs[] = {
    --
    1.8.4.rc3


    \
     
     \ /
      Last update: 2013-10-18 11:01    [W:4.227 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site