diff options
Diffstat (limited to 'drivers/ata/pata_qdi.c')
-rw-r--r-- | drivers/ata/pata_qdi.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/ata/pata_qdi.c b/drivers/ata/pata_qdi.c index 7d4c696c4cb6..a4c0e502cb42 100644 --- a/drivers/ata/pata_qdi.c +++ b/drivers/ata/pata_qdi.c | |||
@@ -136,14 +136,12 @@ static void qdi_data_xfer(struct ata_device *adev, unsigned char *buf, unsigned | |||
136 | ioread32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); | 136 | ioread32_rep(ap->ioaddr.data_addr, buf, buflen >> 2); |
137 | 137 | ||
138 | if (unlikely(slop)) { | 138 | if (unlikely(slop)) { |
139 | u32 pad; | 139 | __le32 pad = 0; |
140 | if (write_data) { | 140 | if (write_data) { |
141 | memcpy(&pad, buf + buflen - slop, slop); | 141 | memcpy(&pad, buf + buflen - slop, slop); |
142 | pad = le32_to_cpu(pad); | 142 | iowrite32(le32_to_cpu(pad), ap->ioaddr.data_addr); |
143 | iowrite32(pad, ap->ioaddr.data_addr); | ||
144 | } else { | 143 | } else { |
145 | pad = ioread32(ap->ioaddr.data_addr); | 144 | pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr)); |
146 | pad = cpu_to_le32(pad); | ||
147 | memcpy(buf + buflen - slop, &pad, slop); | 145 | memcpy(buf + buflen - slop, &pad, slop); |
148 | } | 146 | } |
149 | } | 147 | } |