diff options
Diffstat (limited to 'block/bdev.c')
-rw-r--r-- | block/bdev.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/block/bdev.c b/block/bdev.c index 4628dcb1da8a5..9838085102b3c 100644 --- a/block/bdev.c +++ b/block/bdev.c @@ -1012,9 +1012,10 @@ void bdev_mark_dead(struct block_device *bdev, bool surprise) mutex_lock(&bdev->bd_holder_lock); if (bdev->bd_holder_ops && bdev->bd_holder_ops->mark_dead) bdev->bd_holder_ops->mark_dead(bdev, surprise); - else + else { + mutex_unlock(&bdev->bd_holder_lock); sync_blockdev(bdev); - mutex_unlock(&bdev->bd_holder_lock); + } invalidate_bdev(bdev); } |