]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/scsi/sr.c
Merge branches 'for-4.11/upstream-fixes', 'for-4.12/accutouch', 'for-4.12/cp2112...
[mirror_ubuntu-artful-kernel.git] / drivers / scsi / sr.c
index 94352e4df831be803c3ef6a76cf7f6177750f29c..0b29b9329b1c2f5c8207188884498f314e0a414a 100644 (file)
@@ -117,7 +117,7 @@ static unsigned int sr_check_events(struct cdrom_device_info *cdi,
                                    unsigned int clearing, int slot);
 static int sr_packet(struct cdrom_device_info *, struct packet_command *);
 
-static struct cdrom_device_ops sr_dops = {
+static const struct cdrom_device_ops sr_dops = {
        .open                   = sr_open,
        .release                = sr_release,
        .drive_status           = sr_drive_status,
@@ -437,14 +437,17 @@ static int sr_init_command(struct scsi_cmnd *SCpnt)
                goto out;
        }
 
-       if (rq_data_dir(rq) == WRITE) {
+       switch (req_op(rq)) {
+       case REQ_OP_WRITE:
                if (!cd->writeable)
                        goto out;
                SCpnt->cmnd[0] = WRITE_10;
                cd->cdi.media_written = 1;
-       } else if (rq_data_dir(rq) == READ) {
+               break;
+       case REQ_OP_READ:
                SCpnt->cmnd[0] = READ_10;
-       } else {
+               break;
+       default:
                blk_dump_rq_flags(rq, "Unknown sr command");
                goto out;
        }