public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
From: "Baicar, Tyler" <tbaicar@codeaurora.org>
To: Borislav Petkov <bp@suse.de>
Cc: rjw@rjwysocki.net, lenb@kernel.org, will.deacon@arm.com,
	james.morse@arm.com, shiju.jose@huawei.com,
	geliangtang@gmail.com, andriy.shevchenko@linux.intel.com,
	tony.luck@intel.com, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org, austinwc@codeaurora.org
Subject: Re: [PATCH V2] acpi: apei: clear error status before acknowledging the error
Date: Thu, 24 Aug 2017 10:42:48 -0600	[thread overview]
Message-ID: <4ec78c65-5849-06ad-22fc-751de4c78992@codeaurora.org> (raw)
In-Reply-To: <20170824081408.iwg7qyyr226btivo@pd.tnic>

On 8/24/2017 2:14 AM, Borislav Petkov wrote:
> On Thu, Aug 03, 2017 at 04:12:31PM -0600, Tyler Baicar wrote:
>> Currently we acknowledge errors before clearing the error status.
>> This could cause a new error to be populated by firmware in-between
>> the error acknowledgment and the error status clearing which would
>> cause the second error's status to be cleared without being handled.
>> So, clear the error status before acknowledging the errors.
>>
>> Also, make sure to acknowledge the error if the error status read
>> fails.
>>
>> V2: Only send error ack if there was an error populated
>>      Remove curly braces that are no longer needed
>>
>> Signed-off-by: Tyler Baicar <tbaicar@codeaurora.org>
>> ---
>>   drivers/acpi/apei/ghes.c | 9 +++------
>>   1 file changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c
>> index d661d45..cda4a4f 100644
>> --- a/drivers/acpi/apei/ghes.c
>> +++ b/drivers/acpi/apei/ghes.c
>> @@ -743,17 +743,14 @@ static int ghes_proc(struct ghes *ghes)
>>   	}
>>   	ghes_do_proc(ghes, ghes->estatus);
>>   
>> +out:
>> +	ghes_clear_estatus(ghes);
>>   	/*
>>   	 * 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)) {
>> +	if (is_hest_type_generic_v2(ghes) && rc != -ENOENT)
> I think you should do something like this:
>
> 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;
>
>
> First check the -ENOENT because if there's no entry, you don't need to
> ACK anything anyway.
>
> And then only if it is an entry present and it is v2, you can ACK it.
>
> Hmmm?
Looks good to me, I'll send a v3 with this change.

Thanks,
Tyler

-- 
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.


      reply	other threads:[~2017-08-24 16:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-03 22:12 [PATCH V2] acpi: apei: clear error status before acknowledging the error Tyler Baicar
2017-08-23 20:55 ` Baicar, Tyler
2017-08-24  8:14 ` Borislav Petkov
2017-08-24 16:42   ` Baicar, Tyler [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4ec78c65-5849-06ad-22fc-751de4c78992@codeaurora.org \
    --to=tbaicar@codeaurora.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=austinwc@codeaurora.org \
    --cc=bp@suse.de \
    --cc=geliangtang@gmail.com \
    --cc=james.morse@arm.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=shiju.jose@huawei.com \
    --cc=tony.luck@intel.com \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox