|
@@ -271,14 +271,12 @@ static void pdc_data_xfer_vlb(struct ata_device *adev, unsigned char *buf, unsig
|
|
|
ioread32_rep(ap->ioaddr.data_addr, buf, buflen >> 2);
|
|
|
|
|
|
if (unlikely(slop)) {
|
|
|
- u32 pad;
|
|
|
+ __le32 pad = 0;
|
|
|
if (write_data) {
|
|
|
memcpy(&pad, buf + buflen - slop, slop);
|
|
|
- pad = le32_to_cpu(pad);
|
|
|
- iowrite32(pad, ap->ioaddr.data_addr);
|
|
|
+ iowrite32(le32_to_cpu(pad), ap->ioaddr.data_addr);
|
|
|
} else {
|
|
|
- pad = ioread32(ap->ioaddr.data_addr);
|
|
|
- pad = cpu_to_le16(pad);
|
|
|
+ pad = cpu_to_le32(ioread32(ap->ioaddr.data_addr));
|
|
|
memcpy(buf + buflen - slop, &pad, slop);
|
|
|
}
|
|
|
}
|