]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/ide.c
Merge branch 'for-linus' of git://oss.sgi.com:8090/xfs/xfs-2.6
[linux-2.6-omap-h63xx.git] / drivers / ide / ide.c
index 8cd7694593c9a47d34dd67ad09f74b0c7f8f4c0f..077fb674a96df3002a11bac7bd72777341e224ba 100644 (file)
@@ -1049,13 +1049,9 @@ int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct block_device
        unsigned long flags;
        ide_driver_t *drv;
        void __user *p = (void __user *)arg;
-       int err, (*setfunc)(ide_drive_t *, int);
+       int err = 0, (*setfunc)(ide_drive_t *, int);
        u8 *val;
 
-       err = scsi_cmd_ioctl(file, bdev->bd_disk->queue, bdev->bd_disk, cmd, p);
-       if (err != -ENOTTY)
-               return err;
-
        switch (cmd) {
        case HDIO_GET_32BIT:        val = &drive->io_32bit;      goto read_val;
        case HDIO_GET_KEEPSETTINGS: val = &drive->keep_settings; goto read_val;
@@ -1175,6 +1171,10 @@ int generic_ide_ioctl(ide_drive_t *drive, struct file *file, struct block_device
                        return 0;
                }
 
+               case CDROMEJECT:
+               case CDROMCLOSETRAY:
+                       return scsi_cmd_ioctl(file, bdev->bd_disk->queue, bdev->bd_disk, cmd, p);
+
                case HDIO_GET_BUSSTATE:
                        if (!capable(CAP_SYS_ADMIN))
                                return -EACCES;