]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/ide/ide-ioctls.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
[mv-sheeva.git] / drivers / ide / ide-ioctls.c
index a90945f4979287ca8d260d65c4fab2e144a846af..1be263eb9c071c3cf7e3b48e0010ec9d4f02f476 100644 (file)
@@ -19,7 +19,6 @@ int ide_setting_ioctl(ide_drive_t *drive, struct block_device *bdev,
                      const struct ide_ioctl_devset *s)
 {
        const struct ide_devset *ds;
-       unsigned long flags;
        int err = -EOPNOTSUPP;
 
        for (; (ds = s->setting); s++) {
@@ -33,9 +32,7 @@ int ide_setting_ioctl(ide_drive_t *drive, struct block_device *bdev,
 
 read_val:
        mutex_lock(&ide_setting_mtx);
-       spin_lock_irqsave(&ide_lock, flags);
        err = ds->get(drive);
-       spin_unlock_irqrestore(&ide_lock, flags);
        mutex_unlock(&ide_setting_mtx);
        return err >= 0 ? put_user(err, (long __user *)arg) : err;
 
@@ -98,8 +95,7 @@ static int ide_set_nice_ioctl(ide_drive_t *drive, unsigned long arg)
                return -EPERM;
 
        if (((arg >> IDE_NICE_DSC_OVERLAP) & 1) &&
-           (drive->media == ide_disk || drive->media == ide_floppy ||
-            (drive->dev_flags & IDE_DFLAG_SCSI)))
+           (drive->media != ide_tape))
                return -EPERM;
 
        if ((arg >> IDE_NICE_DSC_OVERLAP) & 1)
@@ -240,8 +236,7 @@ static int generic_drive_reset(ide_drive_t *drive)
        return ret;
 }
 
-int generic_ide_ioctl(ide_drive_t *drive, struct file *file,
-                     struct block_device *bdev,
+int generic_ide_ioctl(ide_drive_t *drive, struct block_device *bdev,
                      unsigned int cmd, unsigned long arg)
 {
        int err;