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 92cc048d57..9c3c72e2c5 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) | |||
106 | 106 | ||
107 | void ata_reset(void) | 107 | void ata_reset(void) |
108 | { | 108 | { |
109 | /* Be sure we're not busy */ | ||
110 | while (!(ATA_INTERRUPT_PENDING & ATA_CONTROLLER_IDLE)); | ||
111 | |||
109 | ATA_INTF_CONTROL &= ~ATA_ATA_RST; | 112 | ATA_INTF_CONTROL &= ~ATA_ATA_RST; |
110 | sleep(1); | 113 | sleep(1); |
111 | ATA_INTF_CONTROL |= ATA_ATA_RST; | 114 | ATA_INTF_CONTROL |= ATA_ATA_RST; |