From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753319AbdJaIXz (ORCPT ); Tue, 31 Oct 2017 04:23:55 -0400 Received: from szxga06-in.huawei.com ([45.249.212.32]:40218 "EHLO huawei.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1752987AbdJaIXu (ORCPT ); Tue, 31 Oct 2017 04:23:50 -0400 Subject: Re: [PATCH] Bug fix: Clear ack of GHES table which contain wrong Error status block, let new error can fill GHES table. To: Tyler Baicar , , , , References: <1509326594-201050-1-git-send-email-zhengqiang10@huawei.com> <61027894-b8ab-b90d-05fa-c8a04acfa42d@codeaurora.org> CC: , , , , From: Zhengqiang Message-ID: <59F832D3.5050401@huawei.com> Date: Tue, 31 Oct 2017 16:22:43 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <61027894-b8ab-b90d-05fa-c8a04acfa42d@codeaurora.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.63.177.164] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Tyler Baicar, Sorry, i missed your patch, you already solved it. thanks. On 2017/10/30 21:53, Tyler Baicar wrote: > On 10/29/2017 9:23 PM, Qiang Zheng wrote: >> 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 >> --- >> 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: > The out goto is already at this location. Please sync to the tip: > > ghes_do_proc(ghes, ghes->estatus); > > out: > ghes_clear_estatus(ghes); > > if (rc == -ENOENT) > return rc; > > /* > * GHESv2 type HEST entries introduce support for error acknowledgment, > * so only acknowledge the error if this support is present. > */ > if (is_hest_type_generic_v2(ghes)) > return ghes_ack_error(ghes->generic_v2); > > return rc; > > >> /* >> * 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; >> } >