|
@@ -418,6 +418,7 @@ void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
if (ioaddr->ctl_addr)
|
|
|
iowrite8(tf->ctl, ioaddr->ctl_addr);
|
|
|
ap->last_ctl = tf->ctl;
|
|
|
+ ata_wait_idle(ap);
|
|
|
}
|
|
|
|
|
|
if (is_addr && (tf->flags & ATA_TFLAG_LBA48)) {
|
|
@@ -453,6 +454,8 @@ void ata_sff_tf_load(struct ata_port *ap, const struct ata_taskfile *tf)
|
|
|
iowrite8(tf->device, ioaddr->device_addr);
|
|
|
VPRINTK("device 0x%X\n", tf->device);
|
|
|
}
|
|
|
+
|
|
|
+ ata_wait_idle(ap);
|
|
|
}
|
|
|
EXPORT_SYMBOL_GPL(ata_sff_tf_load);
|
|
|
|