diff -urpN linux-2.6.19-rc1.orig/drivers/ata/pata_qdi.c linux-2.6.19-rc1/drivers/ata/pata_qdi.c --- linux-2.6.19-rc1.orig/drivers/ata/pata_qdi.c 2006-10-09 09:34:28.000000000 +0200 +++ linux-2.6.19-rc1/drivers/ata/pata_qdi.c 2006-10-09 09:38:07.000000000 +0200 @@ -141,7 +141,7 @@ static void qdi_data_xfer(struct ata_dev memcpy(&pad, buf + buflen - slop, slop); outl(le32_to_cpu(pad), ap->ioaddr.data_addr); } else { - pad = cpu_to_le16(inl(ap->ioaddr.data_addr)); + pad = cpu_to_le32(inl(ap->ioaddr.data_addr)); memcpy(buf + buflen - slop, &pad, slop); } }