]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ata/sata_promise.c
sata_promise: fix endianess bug in ASIC PRD bug workaround
[linux-2.6-omap-h63xx.git] / drivers / ata / sata_promise.c
index 825e717bcef99ad875c4b2b705cb650a62e44fab..7914def54fa3552fcbd2134d97f469eaccd859b6 100644 (file)
@@ -587,7 +587,7 @@ static void pdc_fill_sg(struct ata_queued_cmd *qc)
                        VPRINTK("Splitting last PRD.\n");
 
                        addr = le32_to_cpu(ap->prd[idx - 1].addr);
-                       ap->prd[idx - 1].flags_len -= cpu_to_le32(SG_COUNT_ASIC_BUG);
+                       ap->prd[idx - 1].flags_len = cpu_to_le32(len - SG_COUNT_ASIC_BUG);
                        VPRINTK("PRD[%u] = (0x%X, 0x%X)\n", idx - 1, addr, SG_COUNT_ASIC_BUG);
 
                        addr = addr + len - SG_COUNT_ASIC_BUG;