]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - drivers/scsi/sr_ioctl.c
UBUNTU: Ubuntu-4.13.0-45.50
[mirror_ubuntu-artful-kernel.git] / drivers / scsi / sr_ioctl.c
index dfffdf63e44c922bcc172e7f9dec01651f6c800a..4610c8c5693fd44ec3ea74d18b27af47354d4bc9 100644 (file)
@@ -187,30 +187,19 @@ int sr_do_ioctl(Scsi_CD *cd, struct packet_command *cgc)
        struct scsi_device *SDev;
        struct scsi_sense_hdr sshdr;
        int result, err = 0, retries = 0;
-       struct request_sense *sense = cgc->sense;
 
        SDev = cd->device;
 
-       if (!sense) {
-               sense = kmalloc(SCSI_SENSE_BUFFERSIZE, GFP_KERNEL);
-               if (!sense) {
-                       err = -ENOMEM;
-                       goto out;
-               }
-       }
-
       retry:
        if (!scsi_block_when_processing_errors(SDev)) {
                err = -ENODEV;
                goto out;
        }
 
-       memset(sense, 0, sizeof(*sense));
        result = scsi_execute(SDev, cgc->cmd, cgc->data_direction,
-                             cgc->buffer, cgc->buflen, (char *)sense,
-                             cgc->timeout, IOCTL_RETRIES, 0, NULL);
-
-       scsi_normalize_sense((char *)sense, sizeof(*sense), &sshdr);
+                             cgc->buffer, cgc->buflen,
+                             (unsigned char *)cgc->sense, &sshdr,
+                             cgc->timeout, IOCTL_RETRIES, 0, 0, NULL);
 
        /* Minimal error checking.  Ignore cases we know about, and report the rest. */
        if (driver_byte(result) != 0) {
@@ -261,8 +250,6 @@ int sr_do_ioctl(Scsi_CD *cd, struct packet_command *cgc)
 
        /* Wake up a process waiting for device */
       out:
-       if (!cgc->sense)
-               kfree(sense);
        cgc->stat = err;
        return err;
 }