Commit 3fa58dca authored by Dan Williams's avatar Dan Williams

acpi, nfit: Fix ARS overflow continuation

When the platform BIOS is unable to report all the media error records
it requires the OS to restart the scrub at a prescribed location. The
driver detects the overflow condition, but then fails to report it to
the ARS state machine after reaping the records. Propagate -ENOSPC
correctly to continue the ARS operation.

Cc: <stable@vger.kernel.org>
Fixes: 1cf03c00 ("nfit: scrub and register regions in a workqueue")
Reported-by: default avatarJacek Zloch <jacek.zloch@intel.com>
Reviewed-by: default avatarDave Jiang <dave.jiang@intel.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
parent af31b04b
...@@ -2928,9 +2928,9 @@ static int acpi_nfit_query_poison(struct acpi_nfit_desc *acpi_desc) ...@@ -2928,9 +2928,9 @@ static int acpi_nfit_query_poison(struct acpi_nfit_desc *acpi_desc)
return rc; return rc;
if (ars_status_process_records(acpi_desc)) if (ars_status_process_records(acpi_desc))
return -ENOMEM; dev_err(acpi_desc->dev, "Failed to process ARS records\n");
return 0; return rc;
} }
static int ars_register(struct acpi_nfit_desc *acpi_desc, static int ars_register(struct acpi_nfit_desc *acpi_desc,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment