Creating new a new super_block vs freeing the old one for single instance file systems is serialized by the wait for SB_DEAD. Remove the superfluous sb_mutex. Signed-off-by: Christoph Hellwig <hch@xxxxxx> --- drivers/usb/gadget/legacy/inode.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/drivers/usb/gadget/legacy/inode.c b/drivers/usb/gadget/legacy/inode.c index ce9e31f3d26bcc..a203266bc0dc82 100644 --- a/drivers/usb/gadget/legacy/inode.c +++ b/drivers/usb/gadget/legacy/inode.c @@ -229,7 +229,6 @@ static void put_ep (struct ep_data *data) */ static const char *CHIP; -static DEFINE_MUTEX(sb_mutex); /* Serialize superblock operations */ /*----------------------------------------------------------------------*/ @@ -2012,8 +2011,6 @@ gadgetfs_fill_super (struct super_block *sb, struct fs_context *fc) struct dev_data *dev; int rc; - mutex_lock(&sb_mutex); - if (the_device) { rc = -ESRCH; goto Done; @@ -2069,7 +2066,6 @@ gadgetfs_fill_super (struct super_block *sb, struct fs_context *fc) rc = -ENOMEM; Done: - mutex_unlock(&sb_mutex); return rc; } @@ -2092,7 +2088,6 @@ static int gadgetfs_init_fs_context(struct fs_context *fc) static void gadgetfs_kill_sb (struct super_block *sb) { - mutex_lock(&sb_mutex); kill_litter_super (sb); if (the_device) { put_dev (the_device); @@ -2100,7 +2095,6 @@ gadgetfs_kill_sb (struct super_block *sb) } kfree(CHIP); CHIP = NULL; - mutex_unlock(&sb_mutex); } /*----------------------------------------------------------------------*/ -- 2.39.2