diff options
| -rw-r--r-- | drivers/nvdimm/pmem.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index 34f16a17c07b..bcc359a4e64d 100644 --- a/drivers/nvdimm/pmem.c +++ b/drivers/nvdimm/pmem.c | |||
| @@ -51,17 +51,16 @@ static void pmem_clear_poison(struct pmem_device *pmem, phys_addr_t offset, | |||
| 51 | unsigned int len) | 51 | unsigned int len) |
| 52 | { | 52 | { |
| 53 | struct device *dev = to_dev(pmem); | 53 | struct device *dev = to_dev(pmem); |
| 54 | sector_t sector; | 54 | sector_t sector, cleared; |
| 55 | long cleared; | ||
| 56 | 55 | ||
| 57 | sector = (offset - pmem->data_offset) / 512; | 56 | sector = (offset - pmem->data_offset) / 512; |
| 58 | cleared = nvdimm_clear_poison(dev, pmem->phys_addr + offset, len); | 57 | cleared = nvdimm_clear_poison(dev, pmem->phys_addr + offset, len) / 512; |
| 59 | 58 | ||
| 60 | if (cleared > 0 && cleared / 512) { | 59 | if (cleared) { |
| 61 | dev_dbg(dev, "%s: %#llx clear %ld sector%s\n", | 60 | dev_dbg(dev, "%s: %#llx clear %ld sector%s\n", |
| 62 | __func__, (unsigned long long) sector, | 61 | __func__, (unsigned long long) sector, |
| 63 | cleared / 512, cleared / 512 > 1 ? "s" : ""); | 62 | cleared, cleared > 1 ? "s" : ""); |
| 64 | badblocks_clear(&pmem->bb, sector, cleared / 512); | 63 | badblocks_clear(&pmem->bb, sector, cleared); |
| 65 | } | 64 | } |
| 66 | invalidate_pmem(pmem->virt_addr + offset, len); | 65 | invalidate_pmem(pmem->virt_addr + offset, len); |
| 67 | } | 66 | } |
