ide-{floppy,tape,scsi}: 400ns delay is required after executing the command
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index b9983c4..da79248 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -698,6 +698,7 @@
/* Issue the packet command */
hwif->OUTBSYNC(drive, WIN_PACKETCMD,
hwif->io_ports.command_addr);
+ ndelay(400);
return (*pkt_xfer_routine) (drive);
}
}
diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
index f3f231d..dc88431 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -1058,6 +1058,7 @@
} else {
hwif->OUTBSYNC(drive, WIN_PACKETCMD,
hwif->io_ports.command_addr);
+ ndelay(400);
return idetape_transfer_pc(drive);
}
}
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c
index 8f716da..8b1c783 100644
--- a/drivers/scsi/ide-scsi.c
+++ b/drivers/scsi/ide-scsi.c
@@ -576,6 +576,7 @@
/* Issue the packet command */
hwif->OUTBSYNC(drive, WIN_PACKETCMD,
hwif->io_ports.command_addr);
+ ndelay(400);
return idescsi_transfer_pc(drive);
}
}