diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/acpi/apei/ghes.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/acpi/apei/ghes.c b/drivers/acpi/apei/ghes.c index c20e1d0947b1..af3c10f47f20 100644 --- a/drivers/acpi/apei/ghes.c +++ b/drivers/acpi/apei/ghes.c | |||
@@ -329,8 +329,6 @@ static int ghes_read_estatus(struct ghes *ghes, u64 *buf_paddr) | |||
329 | return -ENOENT; | 329 | return -ENOENT; |
330 | } | 330 | } |
331 | 331 | ||
332 | ghes->flags |= GHES_TO_CLEAR; | ||
333 | |||
334 | rc = -EIO; | 332 | rc = -EIO; |
335 | len = cper_estatus_len(ghes->estatus); | 333 | len = cper_estatus_len(ghes->estatus); |
336 | if (len < sizeof(*ghes->estatus)) | 334 | if (len < sizeof(*ghes->estatus)) |
@@ -357,15 +355,12 @@ err_read_block: | |||
357 | static void ghes_clear_estatus(struct ghes *ghes, u64 buf_paddr) | 355 | static void ghes_clear_estatus(struct ghes *ghes, u64 buf_paddr) |
358 | { | 356 | { |
359 | ghes->estatus->block_status = 0; | 357 | ghes->estatus->block_status = 0; |
360 | if (!(ghes->flags & GHES_TO_CLEAR)) | ||
361 | return; | ||
362 | 358 | ||
363 | if (!buf_paddr) | 359 | if (!buf_paddr) |
364 | return; | 360 | return; |
365 | 361 | ||
366 | ghes_copy_tofrom_phys(ghes->estatus, buf_paddr, | 362 | ghes_copy_tofrom_phys(ghes->estatus, buf_paddr, |
367 | sizeof(ghes->estatus->block_status), 0); | 363 | sizeof(ghes->estatus->block_status), 0); |
368 | ghes->flags &= ~GHES_TO_CLEAR; | ||
369 | } | 364 | } |
370 | 365 | ||
371 | static void ghes_handle_memory_failure(struct acpi_hest_generic_data *gdata, int sev) | 366 | static void ghes_handle_memory_failure(struct acpi_hest_generic_data *gdata, int sev) |