Commit 93066e9a authored by James Morse's avatar James Morse Committed by Rafael J. Wysocki

ACPI / APEI: Remove silent flag from ghes_read_estatus()

Subsequent patches will split up ghes_read_estatus(), at which
point passing around the 'silent' flag gets annoying. This is to
suppress prink() messages, which prior to commit 42a0bb3f
("printk/nmi: generic solution for safe printk in NMI"), were
unsafe in NMI context.

This is no longer necessary, remove the flag. printk() messages
are batched in a per-cpu buffer and printed via irq-work, or a call
back from panic().
Signed-off-by: default avatarJames Morse <james.morse@arm.com>
Reviewed-by: default avatarBorislav Petkov <bp@suse.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 78b0b690
...@@ -324,7 +324,7 @@ static void ghes_copy_tofrom_phys(void *buffer, u64 paddr, u32 len, ...@@ -324,7 +324,7 @@ static void ghes_copy_tofrom_phys(void *buffer, u64 paddr, u32 len,
} }
} }
static int ghes_read_estatus(struct ghes *ghes, int silent) static int ghes_read_estatus(struct ghes *ghes)
{ {
struct acpi_hest_generic *g = ghes->generic; struct acpi_hest_generic *g = ghes->generic;
u64 buf_paddr; u64 buf_paddr;
...@@ -333,8 +333,7 @@ static int ghes_read_estatus(struct ghes *ghes, int silent) ...@@ -333,8 +333,7 @@ static int ghes_read_estatus(struct ghes *ghes, int silent)
rc = apei_read(&buf_paddr, &g->error_status_address); rc = apei_read(&buf_paddr, &g->error_status_address);
if (rc) { if (rc) {
if (!silent && printk_ratelimit()) pr_warn_ratelimited(FW_WARN GHES_PFX
pr_warning(FW_WARN GHES_PFX
"Failed to read error status block address for hardware error source: %d.\n", "Failed to read error status block address for hardware error source: %d.\n",
g->header.source_id); g->header.source_id);
return -EIO; return -EIO;
...@@ -366,9 +365,9 @@ static int ghes_read_estatus(struct ghes *ghes, int silent) ...@@ -366,9 +365,9 @@ static int ghes_read_estatus(struct ghes *ghes, int silent)
rc = 0; rc = 0;
err_read_block: err_read_block:
if (rc && !silent && printk_ratelimit()) if (rc)
pr_warning(FW_WARN GHES_PFX pr_warn_ratelimited(FW_WARN GHES_PFX
"Failed to read error status block!\n"); "Failed to read error status block!\n");
return rc; return rc;
} }
...@@ -702,7 +701,7 @@ static int ghes_proc(struct ghes *ghes) ...@@ -702,7 +701,7 @@ static int ghes_proc(struct ghes *ghes)
{ {
int rc; int rc;
rc = ghes_read_estatus(ghes, 0); rc = ghes_read_estatus(ghes);
if (rc) if (rc)
goto out; goto out;
...@@ -939,7 +938,7 @@ static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs) ...@@ -939,7 +938,7 @@ static int ghes_notify_nmi(unsigned int cmd, struct pt_regs *regs)
return ret; return ret;
list_for_each_entry_rcu(ghes, &ghes_nmi, list) { list_for_each_entry_rcu(ghes, &ghes_nmi, list) {
if (ghes_read_estatus(ghes, 1)) { if (ghes_read_estatus(ghes)) {
ghes_clear_estatus(ghes); ghes_clear_estatus(ghes);
continue; continue;
} else { } else {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment