scsi: cdrom: Remove the call to scsi_cmd_blk_ioctl() from cdrom_ioctl()
authorChristoph Hellwig <hch@lst.de>
Sat, 24 Jul 2021 07:20:17 +0000 (09:20 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 29 Jul 2021 02:24:25 +0000 (22:24 -0400)
Only the sr driver can handle SCSI passthrough requests, so move the call
to scsi_cmd_blk_ioctl() there.

Link: https://lore.kernel.org/r/20210724072033.1284840-9-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/block/Kconfig
drivers/block/paride/Kconfig
drivers/cdrom/cdrom.c
drivers/scsi/sr.c

index 63056cfd4b62c7995daafdb827b1661875321102..4652bcdb9efb5948f30053a04fddfef75069cd24 100644 (file)
@@ -74,7 +74,6 @@ config N64CART
 
 config CDROM
        tristate
-       select BLK_SCSI_REQUEST
 
 config GDROM
        tristate "SEGA Dreamcast GD-ROM drive"
index 7c6ae1036927b45b9415e400d67ffcd48dcdfe72..a295634597ba3a826abca9f4afa2fa08c842e6de 100644 (file)
@@ -27,7 +27,6 @@ config PARIDE_PCD
        tristate "Parallel port ATAPI CD-ROMs"
        depends on PARIDE
        select CDROM
-       select BLK_SCSI_REQUEST # only for the generic cdrom code
        help
          This option enables the high-level driver for ATAPI CD-ROM devices
          connected through a parallel port. If you chose to build PARIDE
index feb827eefd1add4cc56340fa64e83fecbe9d314b..8882b311bafda1e7fed4a18a391b7f35b65d7623 100644 (file)
@@ -3357,13 +3357,6 @@ int cdrom_ioctl(struct cdrom_device_info *cdi, struct block_device *bdev,
        void __user *argp = (void __user *)arg;
        int ret;
 
-       /*
-        * Try the generic SCSI command ioctl's first.
-        */
-       ret = scsi_cmd_blk_ioctl(bdev, mode, cmd, argp);
-       if (ret != -ENOTTY)
-               return ret;
-
        switch (cmd) {
        case CDROMMULTISESSION:
                return cdrom_ioctl_multisession(cdi, argp);
index c5e163a659d274dd6e001cfe0df6a51763ae70b4..7948416f40d505a08186b098852aa589fd64ace5 100644 (file)
@@ -579,6 +579,9 @@ static int sr_block_ioctl(struct block_device *bdev, fmode_t mode, unsigned cmd,
        case SCSI_IOCTL_GET_BUS_NUMBER:
                break;
        default:
+               ret = scsi_cmd_blk_ioctl(bdev, mode, cmd, argp);
+               if (ret != -ENOTTY)
+                       goto put;
                ret = cdrom_ioctl(&cd->cdi, bdev, mode, cmd, arg);
                if (ret != -ENOSYS)
                        goto put;