]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/ide/ide-floppy_ioctl.c
block: autoconvert trivial BKL users to private mutex
[net-next-2.6.git] / drivers / ide / ide-floppy_ioctl.c
index fd3d05ab3417544b9b2a02a445ab55002af285ff..d267b7affad63fab887a10585e647cec6eb98020 100644 (file)
@@ -5,7 +5,7 @@
 #include <linux/kernel.h>
 #include <linux/ide.h>
 #include <linux/cdrom.h>
-#include <linux/smp_lock.h>
+#include <linux/mutex.h>
 
 #include <asm/unaligned.h>
 
@@ -32,6 +32,7 @@
  * On exit we set nformats to the number of records we've actually initialized.
  */
 
+static DEFINE_MUTEX(ide_floppy_ioctl_mutex);
 static int ide_floppy_get_format_capacities(ide_drive_t *drive,
                                            struct ide_atapi_pc *pc,
                                            int __user *arg)
@@ -276,7 +277,7 @@ int ide_floppy_ioctl(ide_drive_t *drive, struct block_device *bdev,
        void __user *argp = (void __user *)arg;
        int err;
 
-       lock_kernel();
+       mutex_lock(&ide_floppy_ioctl_mutex);
        if (cmd == CDROMEJECT || cmd == CDROM_LOCKDOOR) {
                err = ide_floppy_lockdoor(drive, &pc, arg, cmd);
                goto out;
@@ -298,6 +299,6 @@ int ide_floppy_ioctl(ide_drive_t *drive, struct block_device *bdev,
                err = generic_ide_ioctl(drive, bdev, cmd, arg);
 
 out:
-       unlock_kernel();
+       mutex_unlock(&ide_floppy_ioctl_mutex);
        return err;
 }