On 08/25/2011 11:47 PM, rick@xxxxxxxxxxxx wrote: > Hi Huang, > > My new setup reproduced the panic. However I do not have any gar accessed > messages on it. The gar mapped messages are in my previous email. Here > is the latest call trace. There is no GHES output prior to it: > That is wired. Can you try the patch attached? If my guessing is correct, there will be no panic, but something as follow will be in dmesg: ACPI atomic read mem: addr 0xxxxx mapped to 0 Best Regards, Huang Ying
--- drivers/acpi/apei/ghes.c | 6 ++++++ drivers/acpi/atomicio.c | 4 ++++ 2 files changed, 10 insertions(+) --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -299,6 +299,9 @@ static struct ghes *ghes_new(struct acpi return ERR_PTR(-ENOMEM); ghes->generic = generic; rc = acpi_pre_map_gar(&generic->error_status_address); + pr_info(GHES_PFX "gar mapped: %d, 0x%llx\n", + generic->error_status_address.space_id, + generic->error_status_address.address); if (rc) goto err_free; error_block_length = generic->error_block_length; @@ -398,6 +401,9 @@ static int ghes_read_estatus(struct ghes u32 len; int rc; + pr_err(GHES_PFX "gar accessed: %d, 0x%llx\n", + g->error_status_address.space_id, + g->error_status_address.address); rc = acpi_atomic_read(&buf_paddr, &g->error_status_address); if (rc) { if (!silent && printk_ratelimit()) --- a/drivers/acpi/atomicio.c +++ b/drivers/acpi/atomicio.c @@ -270,6 +270,10 @@ static int acpi_atomic_read_mem(u64 padd rcu_read_lock(); addr = __acpi_ioremap_fast(paddr, width); + pr_err("ACPI atomic read mem: addr 0x%llx mapped to %p\n", + paddr, addr); + if (!addr) + return -EIO; switch (width) { case 8: *val = readb(addr);