aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ata')
-rw-r--r--drivers/ata/libata-scsi.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c
index 7b1f1ee8131d..fe47922dd69e 100644
--- a/drivers/ata/libata-scsi.c
+++ b/drivers/ata/libata-scsi.c
@@ -2538,7 +2538,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc)
2538 } 2538 }
2539 2539
2540 qc->tf.command = ATA_CMD_PACKET; 2540 qc->tf.command = ATA_CMD_PACKET;
2541 qc->nbytes = scsi_bufflen(scmd); 2541 qc->nbytes = scsi_bufflen(scmd) + scmd->request->extra_len;
2542 2542
2543 /* check whether ATAPI DMA is safe */ 2543 /* check whether ATAPI DMA is safe */
2544 if (!using_pio && ata_check_atapi_dma(qc)) 2544 if (!using_pio && ata_check_atapi_dma(qc))
@@ -2549,7 +2549,7 @@ static unsigned int atapi_xlat(struct ata_queued_cmd *qc)
2549 * want to set it properly, and for DMA where it is 2549 * want to set it properly, and for DMA where it is
2550 * effectively meaningless. 2550 * effectively meaningless.
2551 */ 2551 */
2552 nbytes = min(scmd->request->raw_data_len, (unsigned int)63 * 1024); 2552 nbytes = min(scmd->request->data_len, (unsigned int)63 * 1024);
2553 2553
2554 /* Most ATAPI devices which honor transfer chunk size don't 2554 /* Most ATAPI devices which honor transfer chunk size don't
2555 * behave according to the spec when odd chunk size which 2555 * behave according to the spec when odd chunk size which
@@ -2875,7 +2875,7 @@ static unsigned int ata_scsi_pass_thru(struct ata_queued_cmd *qc)
2875 * TODO: find out if we need to do more here to 2875 * TODO: find out if we need to do more here to
2876 * cover scatter/gather case. 2876 * cover scatter/gather case.
2877 */ 2877 */
2878 qc->nbytes = scsi_bufflen(scmd); 2878 qc->nbytes = scsi_bufflen(scmd) + scmd->request->extra_len;
2879 2879
2880 /* request result TF and be quiet about device error */ 2880 /* request result TF and be quiet about device error */
2881 qc->flags |= ATA_QCFLAG_RESULT_TF | ATA_QCFLAG_QUIET; 2881 qc->flags |= ATA_QCFLAG_RESULT_TF | ATA_QCFLAG_QUIET;