File tree Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Expand file tree Collapse file tree 1 file changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -449,7 +449,8 @@ static int edac_create_csrow_objects(struct mem_ctl_info *mci)
449449 csrow = mci -> csrows [i ];
450450 if (!nr_pages_per_csrow (csrow ))
451451 continue ;
452- put_device (& mci -> csrows [i ]-> dev );
452+
453+ device_del (& mci -> csrows [i ]-> dev );
453454 }
454455
455456 return err ;
@@ -651,9 +652,11 @@ static int edac_create_dimm_object(struct mem_ctl_info *mci,
651652 dev_set_drvdata (& dimm -> dev , dimm );
652653 pm_runtime_forbid (& mci -> dev );
653654
654- err = device_add (& dimm -> dev );
655+ err = device_add (& dimm -> dev );
656+ if (err )
657+ put_device (& dimm -> dev );
655658
656- edac_dbg (0 , "creating rank/dimm device %s\n" , dev_name (& dimm -> dev ));
659+ edac_dbg (0 , "created rank/dimm device %s\n" , dev_name (& dimm -> dev ));
657660
658661 return err ;
659662}
@@ -934,6 +937,7 @@ int edac_create_sysfs_mci_device(struct mem_ctl_info *mci,
934937 err = device_add (& mci -> dev );
935938 if (err < 0 ) {
936939 edac_dbg (1 , "failure: create device %s\n" , dev_name (& mci -> dev ));
940+ put_device (& mci -> dev );
937941 goto out ;
938942 }
939943
You can’t perform that action at this time.
0 commit comments