Message ID | 154152034315.1304656.17798869260848445154.stgit@dwillia2-desk3.amr.corp.intel.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 3fa58dcab50a0aa16817f16a8d38aee869eb3fb9 |
Headers | show |
Series | acpi, nfit: Fix ARS overflow continuation | expand |
On 11/6/18 9:05 AM, Dan Williams wrote: > 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> > Signed-off-by: Dan Williams <dan.j.williams@intel.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > drivers/acpi/nfit/core.c | 4 ++-- > 1 file 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, > > _______________________________________________ > Linux-nvdimm mailing list > Linux-nvdimm@lists.01.org > https://lists.01.org/mailman/listinfo/linux-nvdimm >
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,
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> Signed-off-by: Dan Williams <dan.j.williams@intel.com> --- drivers/acpi/nfit/core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)