Propagate errors from devm_init_badblocks() instead of hard-coding a
-ENOMEM.

This change is a no-op. The sanity check in devm_init_badblocks() can't
fail, so -EINVAL can't be returned. And __badblocks_init() can only return
0 or -ENOMEM.

However, propagating the error code is cleaner and more future proof.

Signed-off-by: Christophe JAILLET <[email protected]>
---
Changes in v2:
  - rebase with -next-20261023
  - Update the commit summary and description. It is not a fix anymore,
    just a clean-up. The Fix itself has already been applied in commit
    855a46681e0b ("nvdimm/pmem: Release gendisk on probe failure")

v1 (from 2021!):
  - 
https://lore.kernel.org/lkml/f1933a01d9cefe24970ee93d741babb8fe9c1b32.1636219557.git.christophe.jail...@wanadoo.fr/
---
 drivers/nvdimm/pmem.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
index 0766a6949b28..76e80eccc8e7 100644
--- a/drivers/nvdimm/pmem.c
+++ b/drivers/nvdimm/pmem.c
@@ -563,10 +563,9 @@ static int pmem_attach_disk(struct device *dev,
        nvdimm_namespace_disk_name(ndns, disk->disk_name);
        set_capacity(disk, (pmem->size - pmem->pfn_pad - pmem->data_offset)
                        / 512);
-       if (devm_init_badblocks(dev, &pmem->bb)) {
-               rc = -ENOMEM;
+       rc = devm_init_badblocks(dev, &pmem->bb);
+       if (rc)
                goto out;
-       }
        nvdimm_badblocks_populate(nd_region, &pmem->bb, &bb_range);
        disk->bb = &pmem->bb;
 
-- 
2.56.0


Reply via email to