summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2009-02-22 13:24:58 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2009-02-22 13:24:58 +0000
commit65d404ff6a78c6e2135f3e4f1f9d5634bed0dfce (patch)
treee0fa7c7497bb8aa8bfefa5962640e09a08296a01 /firmware/drivers
parent0055f13707bdeeca5893c57541d73a84b6069f9f (diff)
downloadrockbox-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/drivers')
-rw-r--r--firmware/drivers/ata.c11
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 }