]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/memstick/core/mspro_block.c
block: autoconvert trivial BKL users to private mutex
[net-next-2.6.git] / drivers / memstick / core / mspro_block.c
index d3f1a087ecedf8545d4e765716a79c94406f6458..02362eccc58866e1757f63c3776ec7993de4c3d4 100644 (file)
 #include <linux/kthread.h>
 #include <linux/delay.h>
 #include <linux/slab.h>
-#include <linux/smp_lock.h>
+#include <linux/mutex.h>
 #include <linux/memstick.h>
 
 #define DRIVER_NAME "mspro_block"
 
+static DEFINE_MUTEX(mspro_block_mutex);
 static int major;
 module_param(major, int, 0644);
 
@@ -180,7 +181,7 @@ static int mspro_block_bd_open(struct block_device *bdev, fmode_t mode)
        struct mspro_block_data *msb = disk->private_data;
        int rc = -ENXIO;
 
-       lock_kernel();
+       mutex_lock(&mspro_block_mutex);
        mutex_lock(&mspro_block_disk_lock);
 
        if (msb && msb->card) {
@@ -192,7 +193,7 @@ static int mspro_block_bd_open(struct block_device *bdev, fmode_t mode)
        }
 
        mutex_unlock(&mspro_block_disk_lock);
-       unlock_kernel();
+       mutex_unlock(&mspro_block_mutex);
 
        return rc;
 }
@@ -225,9 +226,9 @@ static int mspro_block_disk_release(struct gendisk *disk)
 static int mspro_block_bd_release(struct gendisk *disk, fmode_t mode)
 {
        int ret;
-       lock_kernel();
+       mutex_lock(&mspro_block_mutex);
        ret = mspro_block_disk_release(disk);
-       unlock_kernel();
+       mutex_unlock(&mspro_block_mutex);
        return ret;
 }