diff options
author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2009-02-22 13:24:58 +0000 |
---|---|---|
committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2009-02-22 13:24:58 +0000 |
commit | 65d404ff6a78c6e2135f3e4f1f9d5634bed0dfce (patch) | |
tree | e0fa7c7497bb8aa8bfefa5962640e09a08296a01 /firmware | |
parent | 0055f13707bdeeca5893c57541d73a84b6069f9f (diff) | |
download | rockbox-65d404ff6a78c6e2135f3e4f1f9d5634bed0dfce.tar.gz rockbox-65d404ff6a78c6e2135f3e4f1f9d5634bed0dfce.zip |
Submit FS#9863 by Boris Gjenero. Correct ATA wakeup and power on in case of SYS_USB_CONNECTED. This way HDDs are spun down properly afterwards before rebooting to USB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20082 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/ata.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index 5f5829736f..38face0aef 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c | |||
@@ -955,10 +955,17 @@ static void ata_thread(void) | |||
955 | usb_acknowledge(SYS_USB_CONNECTED_ACK); | 955 | usb_acknowledge(SYS_USB_CONNECTED_ACK); |
956 | /* There is no need to force ATA power on */ | 956 | /* There is no need to force ATA power on */ |
957 | #else | 957 | #else |
958 | if (poweroff) { | 958 | if (sleeping) { |
959 | mutex_lock(&ata_mtx); | 959 | mutex_lock(&ata_mtx); |
960 | ata_led(true); | 960 | ata_led(true); |
961 | ata_power_on(); | 961 | if (poweroff) { |
962 | ata_power_on(); | ||
963 | poweroff = false; | ||
964 | } | ||
965 | else { | ||
966 | perform_soft_reset(); | ||
967 | } | ||
968 | sleeping = false; | ||
962 | ata_led(false); | 969 | ata_led(false); |
963 | mutex_unlock(&ata_mtx); | 970 | mutex_unlock(&ata_mtx); |
964 | } | 971 | } |