diff options
-rw-r--r-- | fs/configfs/dir.c | 11 |
1 files changed, 0 insertions, 11 deletions
diff --git a/fs/configfs/dir.c b/fs/configfs/dir.c index 92112915de8e..21a795679e20 100644 --- a/fs/configfs/dir.c +++ b/fs/configfs/dir.c | |||
@@ -1771,16 +1771,6 @@ void configfs_unregister_group(struct config_group *group) | |||
1771 | struct dentry *dentry = group->cg_item.ci_dentry; | 1771 | struct dentry *dentry = group->cg_item.ci_dentry; |
1772 | struct dentry *parent = group->cg_item.ci_parent->ci_dentry; | 1772 | struct dentry *parent = group->cg_item.ci_parent->ci_dentry; |
1773 | 1773 | ||
1774 | mutex_lock(&subsys->su_mutex); | ||
1775 | if (!group->cg_item.ci_parent->ci_group) { | ||
1776 | /* | ||
1777 | * The parent has already been unlinked and detached | ||
1778 | * due to a rmdir. | ||
1779 | */ | ||
1780 | goto unlink_group; | ||
1781 | } | ||
1782 | mutex_unlock(&subsys->su_mutex); | ||
1783 | |||
1784 | inode_lock_nested(d_inode(parent), I_MUTEX_PARENT); | 1774 | inode_lock_nested(d_inode(parent), I_MUTEX_PARENT); |
1785 | spin_lock(&configfs_dirent_lock); | 1775 | spin_lock(&configfs_dirent_lock); |
1786 | configfs_detach_prep(dentry, NULL); | 1776 | configfs_detach_prep(dentry, NULL); |
@@ -1796,7 +1786,6 @@ void configfs_unregister_group(struct config_group *group) | |||
1796 | dput(dentry); | 1786 | dput(dentry); |
1797 | 1787 | ||
1798 | mutex_lock(&subsys->su_mutex); | 1788 | mutex_lock(&subsys->su_mutex); |
1799 | unlink_group: | ||
1800 | unlink_group(group); | 1789 | unlink_group(group); |
1801 | mutex_unlock(&subsys->su_mutex); | 1790 | mutex_unlock(&subsys->su_mutex); |
1802 | } | 1791 | } |