diff options
author | Dan Williams <dan.j.williams@intel.com> | 2018-11-01 10:30:22 +0300 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2018-11-10 20:54:28 +0300 |
commit | 3fa58dcab50a0aa16817f16a8d38aee869eb3fb9 (patch) | |
tree | c0a767a87f0d5285438680d2a88496f339768c68 /drivers/acpi/nfit | |
parent | af31b04b67f4fd7f639fd465a507c154c46fc9fb (diff) | |
download | linux-3fa58dcab50a0aa16817f16a8d38aee869eb3fb9.tar.xz |
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: 1cf03c00e7c1 ("nfit: scrub and register regions in a workqueue")
Reported-by: Jacek Zloch <jacek.zloch@intel.com>
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/acpi/nfit')
-rw-r--r-- | drivers/acpi/nfit/core.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/acpi/nfit/core.c b/drivers/acpi/nfit/core.c index f8c638f3c946..5970b8f5f768 100644 --- a/drivers/acpi/nfit/core.c +++ b/drivers/acpi/nfit/core.c @@ -2928,9 +2928,9 @@ static int acpi_nfit_query_poison(struct acpi_nfit_desc *acpi_desc) return rc; 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, |