]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
libnvdimm, pfn: fix nd_pfn_validate() return value handling
authorDan Williams <dan.j.williams@intel.com>
Sun, 13 Dec 2015 19:35:52 +0000 (11:35 -0800)
committerDan Duval <dan.duval@oracle.com>
Wed, 7 Dec 2016 17:25:32 +0000 (12:25 -0500)
Orabug: 22913653

The -ENODEV case indicates that the info-block needs to established.
All other return codes cause nd_pfn_init() to abort.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
(cherry picked from commit 3fa962686568a1617d174e3d2f5d522e963077c5)
Signed-off-by: Dan Duval <dan.duval@oracle.com>
drivers/nvdimm/pmem.c

index 47c1cde7490540003eda117302bad227ccc9425b..3bfa90644b092d53319c518c4cd456b2ed97746e 100644 (file)
@@ -237,7 +237,9 @@ static int nd_pfn_init(struct nd_pfn *nd_pfn)
 
        nd_pfn->pfn_sb = pfn_sb;
        rc = nd_pfn_validate(nd_pfn);
-       if (rc == 0 || rc == -EBUSY)
+       if (rc == -ENODEV)
+               /* no info block, do init */;
+       else
                return rc;
 
        nd_region = to_nd_region(nd_pfn->dev.parent);