if (!dt)
return -EINVAL;
- if (dt->dd_def_attrs)
+ if (dt->dd_def_attrs) {
sysfs_remove_files(&dt->dd_kobj, dt->dd_def_attrs);
-
- kobject_put(&dt->dd_kobj);
- wait_for_completion(&dt->dd_kobj_unregister);
+ kobject_put(&dt->dd_kobj);
+ wait_for_completion(&dt->dd_kobj_unregister);
+ }
return 0;
}
rc = sysfs_create_files(&dt->dd_kobj, dt->dd_def_attrs);
if (rc) {
kobject_put(&dt->dd_kobj);
+ dt->dd_def_attrs = NULL;
return rc;
}