|
@@ -192,8 +192,8 @@ static int blktrans_open(struct block_device *bdev, fmode_t mode)
|
|
|
if (!dev)
|
|
|
return -ERESTARTSYS; /* FIXME: busy loop! -arnd*/
|
|
|
|
|
|
- mutex_lock(&dev->lock);
|
|
|
mutex_lock(&mtd_table_mutex);
|
|
|
+ mutex_lock(&dev->lock);
|
|
|
|
|
|
if (dev->open)
|
|
|
goto unlock;
|
|
@@ -217,8 +217,8 @@ static int blktrans_open(struct block_device *bdev, fmode_t mode)
|
|
|
|
|
|
unlock:
|
|
|
dev->open++;
|
|
|
- mutex_unlock(&mtd_table_mutex);
|
|
|
mutex_unlock(&dev->lock);
|
|
|
+ mutex_unlock(&mtd_table_mutex);
|
|
|
blktrans_dev_put(dev);
|
|
|
return ret;
|
|
|
|
|
@@ -228,8 +228,8 @@ error_release:
|
|
|
error_put:
|
|
|
module_put(dev->tr->owner);
|
|
|
kref_put(&dev->ref, blktrans_dev_release);
|
|
|
- mutex_unlock(&mtd_table_mutex);
|
|
|
mutex_unlock(&dev->lock);
|
|
|
+ mutex_unlock(&mtd_table_mutex);
|
|
|
blktrans_dev_put(dev);
|
|
|
return ret;
|
|
|
}
|
|
@@ -241,8 +241,8 @@ static void blktrans_release(struct gendisk *disk, fmode_t mode)
|
|
|
if (!dev)
|
|
|
return;
|
|
|
|
|
|
- mutex_lock(&dev->lock);
|
|
|
mutex_lock(&mtd_table_mutex);
|
|
|
+ mutex_lock(&dev->lock);
|
|
|
|
|
|
if (--dev->open)
|
|
|
goto unlock;
|
|
@@ -256,8 +256,8 @@ static void blktrans_release(struct gendisk *disk, fmode_t mode)
|
|
|
__put_mtd_device(dev->mtd);
|
|
|
}
|
|
|
unlock:
|
|
|
- mutex_unlock(&mtd_table_mutex);
|
|
|
mutex_unlock(&dev->lock);
|
|
|
+ mutex_unlock(&mtd_table_mutex);
|
|
|
blktrans_dev_put(dev);
|
|
|
}
|
|
|
|