diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c
index b9983c4a1facd988b96c2961e59276a96589b160..da79248633a470abed7d9c9bd350bf966c77c68f 100644
--- a/drivers/ide/ide-floppy.c
+++ b/drivers/ide/ide-floppy.c
@@ -698,6 +698,7 @@ static ide_startstop_t idefloppy_issue_pc(ide_drive_t *drive,
 		/* 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 f3f231de183555d8f254485f3b753c70d55c7577..dc88431a23599b80bcefec6dcb3d9b47dbe1e8ce 100644
--- a/drivers/ide/ide-tape.c
+++ b/drivers/ide/ide-tape.c
@@ -1058,6 +1058,7 @@ static ide_startstop_t idetape_issue_pc(ide_drive_t *drive,
 	} 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 8f716da5b7de0731bd7b19d3727684b1a62a5fe5..8b1c783e259b2ef53f86b2d7140d0d7717b7c9e9 100644
--- a/drivers/scsi/ide-scsi.c
+++ b/drivers/scsi/ide-scsi.c
@@ -576,6 +576,7 @@ static ide_startstop_t idescsi_issue_pc(ide_drive_t *drive,
 		/* Issue the packet command */
 		hwif->OUTBSYNC(drive, WIN_PACKETCMD,
 			       hwif->io_ports.command_addr);
+		ndelay(400);
 		return idescsi_transfer_pc(drive);
 	}
 }