File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -491,7 +491,9 @@ static int pmem_attach_disk(struct device *dev,
491
491
dax_write_cache (dax_dev , nvdimm_has_cache (nd_region ));
492
492
pmem -> dax_dev = dax_dev ;
493
493
494
- device_add_disk (dev , disk , pmem_attribute_groups );
494
+ rc = device_add_disk (dev , disk , pmem_attribute_groups );
495
+ if (rc )
496
+ goto out_cleanup_dax ;
495
497
if (devm_add_action_or_reset (dev , pmem_release_disk , pmem ))
496
498
return - ENOMEM ;
497
499
@@ -502,6 +504,10 @@ static int pmem_attach_disk(struct device *dev,
502
504
if (!pmem -> bb_state )
503
505
dev_warn (dev , "'badblocks' notification disabled\n" );
504
506
return 0 ;
507
+
508
+ out_cleanup_dax :
509
+ kill_dax (pmem -> dax_dev );
510
+ put_dax (pmem -> dax_dev );
505
511
out :
506
512
blk_cleanup_disk (pmem -> disk );
507
513
return rc ;
You can’t perform that action at this time.
0 commit comments