libata-scsi: use scsi_set_sense_information()
authorHannes Reinecke <hare@suse.de>
Mon, 4 Apr 2016 09:43:58 +0000 (11:43 +0200)
committerTejun Heo <tj@kernel.org>
Mon, 4 Apr 2016 16:07:40 +0000 (12:07 -0400)
Use scsi_set_sense_information() instead of hand-crafted function.

Signed-off-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/libata-scsi.c

index fc23d3f..47b103d 100644 (file)
@@ -1055,7 +1055,6 @@ static void ata_gen_ata_sense(struct ata_queued_cmd *qc)
        struct scsi_cmnd *cmd = qc->scsicmd;
        struct ata_taskfile *tf = &qc->result_tf;
        unsigned char *sb = cmd->sense_buffer;
-       unsigned char *desc = sb + 8;
        int verbose = qc->ap->ops->error_handler == NULL;
        u64 block;
 
@@ -1086,18 +1085,7 @@ static void ata_gen_ata_sense(struct ata_queued_cmd *qc)
        if (block == U64_MAX)
                return;
 
-       /* information sense data descriptor */
-       sb[7] = 12;
-       desc[0] = 0x00;
-       desc[1] = 10;
-
-       desc[2] |= 0x80;        /* valid */
-       desc[6] = block >> 40;
-       desc[7] = block >> 32;
-       desc[8] = block >> 24;
-       desc[9] = block >> 16;
-       desc[10] = block >> 8;
-       desc[11] = block;
+       scsi_set_sense_information(sb, SCSI_SENSE_BUFFERSIZE, block);
 }
 
 static void ata_scsi_sdev_config(struct scsi_device *sdev)