diff --git a/drivers/nvdimm/bus.c b/drivers/nvdimm/bus.c index d214ac44d11157a608ceb993d21c52c84fecb628..43ddfd487c85e106d3d7407bc2b51e1e8aebfca7 100644 --- a/drivers/nvdimm/bus.c +++ b/drivers/nvdimm/bus.c @@ -219,7 +219,9 @@ long nvdimm_clear_poison(struct device *dev, phys_addr_t phys, if (cmd_rc < 0) return cmd_rc; - nvdimm_forget_poison(nvdimm_bus, phys, len); + if (clear_err.cleared > 0) + nvdimm_forget_poison(nvdimm_bus, phys, clear_err.cleared); + return clear_err.cleared; } EXPORT_SYMBOL_GPL(nvdimm_clear_poison);