diff options
-rw-r--r-- | drivers/ata/pata_legacy.c | 10 | ||||
-rw-r--r-- | drivers/ata/pata_qdi.c | 2 | ||||
-rw-r--r-- | drivers/ata/pata_winbond.c | 2 |
3 files changed, 6 insertions, 8 deletions
diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c index fe7cc8ed4ea4..bc037ffce200 100644 --- a/drivers/ata/pata_legacy.c +++ b/drivers/ata/pata_legacy.c | |||
@@ -305,7 +305,7 @@ static unsigned int pdc_data_xfer_vlb(struct ata_device *dev, | |||
305 | iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); | 305 | iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); |
306 | 306 | ||
307 | if (unlikely(slop)) { | 307 | if (unlikely(slop)) { |
308 | u32 pad; | 308 | __le32 pad; |
309 | if (rw == READ) { | 309 | if (rw == READ) { |
310 | pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr)); | 310 | pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr)); |
311 | memcpy(buf + buflen - slop, &pad, slop); | 311 | memcpy(buf + buflen - slop, &pad, slop); |
@@ -746,14 +746,12 @@ static unsigned int vlb32_data_xfer(struct ata_device *adev, unsigned char *buf, | |||
746 | ioread32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); | 746 | ioread32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); |
747 | 747 | ||
748 | if (unlikely(slop)) { | 748 | if (unlikely(slop)) { |
749 | u32 pad; | 749 | __le32 pad; |
750 | if (rw == WRITE) { | 750 | if (rw == WRITE) { |
751 | memcpy(&pad, buf + buflen - slop, slop); | 751 | memcpy(&pad, buf + buflen - slop, slop); |
752 | pad = le32_to_cpu(pad); | 752 | iowrite32(le32_to_cpu(pad), ap->ioaddr.data_addr); |
753 | iowrite32(pad, ap->ioaddr.data_addr); | ||
754 | } else { | 753 | } else { |
755 | pad = ioread32(ap->ioaddr.data_addr); | 754 | pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr)); |
756 | pad = cpu_to_le32(pad); | ||
757 | memcpy(buf + buflen - slop, &pad, slop); | 755 | memcpy(buf + buflen - slop, &pad, slop); |
758 | } | 756 | } |
759 | } | 757 | } |
diff --git a/drivers/ata/pata_qdi.c b/drivers/ata/pata_qdi.c index 97e5b090d7c2..63b7a1c165a5 100644 --- a/drivers/ata/pata_qdi.c +++ b/drivers/ata/pata_qdi.c | |||
@@ -137,7 +137,7 @@ static unsigned int qdi_data_xfer(struct ata_device *dev, unsigned char *buf, | |||
137 | iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); | 137 | iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); |
138 | 138 | ||
139 | if (unlikely(slop)) { | 139 | if (unlikely(slop)) { |
140 | u32 pad; | 140 | __le32 pad; |
141 | if (rw == READ) { | 141 | if (rw == READ) { |
142 | pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr)); | 142 | pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr)); |
143 | memcpy(buf + buflen - slop, &pad, slop); | 143 | memcpy(buf + buflen - slop, &pad, slop); |
diff --git a/drivers/ata/pata_winbond.c b/drivers/ata/pata_winbond.c index 474528f8fe3d..a7606b044a61 100644 --- a/drivers/ata/pata_winbond.c +++ b/drivers/ata/pata_winbond.c | |||
@@ -105,7 +105,7 @@ static unsigned int winbond_data_xfer(struct ata_device *dev, | |||
105 | iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); | 105 | iowrite32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); |
106 | 106 | ||
107 | if (unlikely(slop)) { | 107 | if (unlikely(slop)) { |
108 | u32 pad; | 108 | __le32 pad; |
109 | if (rw == READ) { | 109 | if (rw == READ) { |
110 | pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr)); | 110 | pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr)); |
111 | memcpy(buf + buflen - slop, &pad, slop); | 111 | memcpy(buf + buflen - slop, &pad, slop); |