diff options
| -rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/ata-imx31.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/ata-imx31.c b/firmware/target/arm/imx31/gigabeat-s/ata-imx31.c index 92cc048..9c3c72e 100644 --- a/firmware/target/arm/imx31/gigabeat-s/ata-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/ata-imx31.c @@ -106,6 +106,9 @@ void ata_set_pio_timings(int mode) void ata_reset(void) { + /* Be sure we're not busy */ + while (!(ATA_INTERRUPT_PENDING & ATA_CONTROLLER_IDLE)); + ATA_INTF_CONTROL &= ~ATA_ATA_RST; sleep(1); ATA_INTF_CONTROL |= ATA_ATA_RST; |