diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-09-29 00:38:30 +0300 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-09-29 00:38:30 +0300 |
commit | 770b782f555d663d133fcd4dc1632023f79357b9 (patch) | |
tree | d212d4857fbeb946c82eb53bcf818f3248a14e3d | |
parent | 74de8187ff46bfc24fcb1533791515e46b256116 (diff) | |
parent | 333d1774224de9d1d9cedf11218e297d5421044b (diff) | |
download | linux-770b782f555d663d133fcd4dc1632023f79357b9.tar.xz |
Merge tag 'acpi-4.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Pull ACPI fix from Rafael Wysocki:
"This fixes an APEI problem that may cause a reported error to be
missed due to a race condition"
* tag 'acpi-4.14-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
ACPI / APEI: clear error status before acknowledging the error
-rw-r--r-- | drivers/acpi/apei/ghes.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index 077f9bad6f44..3c3a37b8503b 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c @@ -743,17 +743,19 @@ static int ghes_proc(struct ghes *ghes) } 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)) { - rc = ghes_ack_error(ghes->generic_v2); - if (rc) - return rc; - } -out: - ghes_clear_estatus(ghes); + if (is_hest_type_generic_v2(ghes)) + return ghes_ack_error(ghes->generic_v2); + return rc; } |