[PATCH] Bug fix: Clear ack of GHES table which contain wrong Error status block, let new error can fill GHES table.

From: Qiang Zheng
Date: Sun Oct 29 2017 - 20:37:04 EST


Current Error status block processing flow, if wrong format is checked,
GHES table ack is not cleared.
It will cause new error can not be filled GHES table, because UEFI
need check ack to know if error was handled by OS.

This patch solved issue, no matter Error status block format is wrong,
But GHES table format is corrected, we clear ack.

Signed-off-by: Qiang Zheng <zhengqiang10@xxxxxxxxxx>
---
drivers/acpi/apei/ghes.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
index 077f9ba..b0e0782 100644
--- a/drivers/acpi/apei/ghes.c
+++ b/drivers/acpi/apei/ghes.c
@@ -743,6 +743,7 @@ static int ghes_proc(struct ghes *ghes)
}
ghes_do_proc(ghes, ghes->estatus);

+out:
/*
* GHESv2 type HEST entries introduce support for error acknowledgment,
* so only acknowledge the error if this support is present.
@@ -752,7 +753,7 @@ static int ghes_proc(struct ghes *ghes)
if (rc)
return rc;
}
-out:
+
ghes_clear_estatus(ghes);
return rc;
}
--
1.9.1