Commit e6defe76 authored by Dan Williams's avatar Dan Williams Committed by Greg Kroah-Hartman

nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot

commit c6c5df29 upstream.

If query-ARS reports that ARS has stopped and requires continuation
attempt to retrieve short-ARS results before continuing the long
operation.

Fixes: bc6ba808 ("nfit, address-range-scrub: rework and simplify ARS...")
Cc: <stable@vger.kernel.org>
Reported-by: default avatarKrzysztof Rusocki <krzysztof.rusocki@intel.com>
Reviewed-by: default avatarToshi Kani <toshi.kani@hpe.com>
Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent f5878c4f
...@@ -2900,6 +2900,7 @@ static int ars_register(struct acpi_nfit_desc *acpi_desc, ...@@ -2900,6 +2900,7 @@ static int ars_register(struct acpi_nfit_desc *acpi_desc,
switch (acpi_nfit_query_poison(acpi_desc)) { switch (acpi_nfit_query_poison(acpi_desc)) {
case 0: case 0:
case -ENOSPC:
case -EAGAIN: case -EAGAIN:
rc = ars_start(acpi_desc, nfit_spa, ARS_REQ_SHORT); rc = ars_start(acpi_desc, nfit_spa, ARS_REQ_SHORT);
/* shouldn't happen, try again later */ /* shouldn't happen, try again later */
...@@ -2924,7 +2925,6 @@ static int ars_register(struct acpi_nfit_desc *acpi_desc, ...@@ -2924,7 +2925,6 @@ static int ars_register(struct acpi_nfit_desc *acpi_desc,
break; break;
case -EBUSY: case -EBUSY:
case -ENOMEM: case -ENOMEM:
case -ENOSPC:
/* /*
* BIOS was using ARS, wait for it to complete (or * BIOS was using ARS, wait for it to complete (or
* resources to become available) and then perform our * resources to become available) and then perform our
......
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