diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/libata-core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/scsi/libata-core.c b/drivers/scsi/libata-core.c index b42acbe0e9a5..e6044455ca45 100644 --- a/drivers/scsi/libata-core.c +++ b/drivers/scsi/libata-core.c | |||
@@ -611,6 +611,10 @@ int ata_rwcmd_protocol(struct ata_queued_cmd *qc) | |||
611 | if (dev->flags & ATA_DFLAG_PIO) { | 611 | if (dev->flags & ATA_DFLAG_PIO) { |
612 | tf->protocol = ATA_PROT_PIO; | 612 | tf->protocol = ATA_PROT_PIO; |
613 | index = dev->multi_count ? 0 : 8; | 613 | index = dev->multi_count ? 0 : 8; |
614 | } else if (lba48 && (qc->ap->flags & ATA_FLAG_PIO_LBA48)) { | ||
615 | /* Unable to use DMA due to host limitation */ | ||
616 | tf->protocol = ATA_PROT_PIO; | ||
617 | index = dev->multi_count ? 0 : 4; | ||
614 | } else { | 618 | } else { |
615 | tf->protocol = ATA_PROT_DMA; | 619 | tf->protocol = ATA_PROT_DMA; |
616 | index = 16; | 620 | index = 16; |