From: Douglas Gilbert Date: Mon, 1 Feb 2010 18:11:38 +0000 (-0500) Subject: libata-scsi passthru: fix bug which truncated LBA48 return values X-Git-Tag: firefly_0821_release~10186^2~690 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=c4fb9d1fb7b82a6894f7c63194e68f4c7b819ad4;p=firefly-linux-kernel-4.4.55.git libata-scsi passthru: fix bug which truncated LBA48 return values commit bc496ed00ab1411d3efaf295b72e0c9eb343e1a3 upstream. Fix assignment which overwrote SAT ATA PASS-THROUGH command EXTEND bit setting (ATA_TFLAG_LBA48) Signed-off-by: Douglas Gilbert Signed-off-by: Jeff Garzik Cc: Kerin Millar Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/ata/libata-scsi.c b/drivers/ata/libata-scsi.c index b4ee28dec521..f8a939007b3c 100644 --- a/drivers/ata/libata-scsi.c +++ b/drivers/ata/libata-scsi.c @@ -2825,7 +2825,7 @@ static unsigned int ata_scsi_pass_thru(struct ata_queued_cmd *qc) * write indication (used for PIO/DMA setup), result TF is * copied back and we don't whine too much about its failure. */ - tf->flags = ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; + tf->flags |= ATA_TFLAG_ISADDR | ATA_TFLAG_DEVICE; if (scmd->sc_data_direction == DMA_TO_DEVICE) tf->flags |= ATA_TFLAG_WRITE;