From b248f79d71ca54c842f24c9844bc04f28c1dd9a3 Mon Sep 17 00:00:00 2001 From: Bartlomiej Zolnierkiewicz Date: Fri, 20 Jul 2007 01:11:59 +0200 Subject: [PATCH] --- yaml --- r: 61905 b: refs/heads/master c: 89636af25d75d8672aea05d258be357d0dc4bd70 h: refs/heads/master i: 61903: 482f543d0845639f589ae09542d06b21d5a4a082 v: v3 --- [refs] | 2 +- trunk/drivers/ide/ide-floppy.c | 18 +++++++++++++++++- trunk/drivers/ide/ide.c | 4 ---- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 76838b72569e..6627761153d1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4bf9fdf7f21f118e2c5052ec8e46faf00eb5a4ea +refs/heads/master: 89636af25d75d8672aea05d258be357d0dc4bd70 diff --git a/trunk/drivers/ide/ide-floppy.c b/trunk/drivers/ide/ide-floppy.c index a21f585b1caa..ae8e1a64b8ad 100644 --- a/trunk/drivers/ide/ide-floppy.c +++ b/trunk/drivers/ide/ide-floppy.c @@ -99,6 +99,8 @@ #include #include +#include + #include #include #include @@ -2099,7 +2101,21 @@ static int idefloppy_ioctl(struct inode *inode, struct file *file, case IDEFLOPPY_IOCTL_FORMAT_GET_PROGRESS: return idefloppy_get_format_progress(drive, argp); } - return generic_ide_ioctl(drive, file, bdev, cmd, arg); + + /* + * skip SCSI_IOCTL_SEND_COMMAND (deprecated) + * and CDROM_SEND_PACKET (legacy) ioctls + */ + if (cmd != CDROM_SEND_PACKET && cmd != SCSI_IOCTL_SEND_COMMAND) + err = scsi_cmd_ioctl(file, bdev->bd_disk->queue, + bdev->bd_disk, cmd, argp); + else + err = -ENOTTY; + + if (err == -ENOTTY) + err = generic_ide_ioctl(drive, file, bdev, cmd, arg); + + return err; } static int idefloppy_media_changed(struct gendisk *disk) diff --git a/trunk/drivers/ide/ide.c b/trunk/drivers/ide/ide.c index c438cc314238..5e88a060df06 100644 --- a/trunk/drivers/ide/ide.c +++ b/trunk/drivers/ide/ide.c @@ -1097,10 +1097,6 @@ 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;