From 65d404ff6a78c6e2135f3e4f1f9d5634bed0dfce Mon Sep 17 00:00:00 2001 From: Andree Buschmann Date: Sun, 22 Feb 2009 13:24:58 +0000 Subject: 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 --- firmware/drivers/ata.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'firmware/drivers/ata.c') 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) usb_acknowledge(SYS_USB_CONNECTED_ACK); /* There is no need to force ATA power on */ #else - if (poweroff) { + if (sleeping) { mutex_lock(&ata_mtx); ata_led(true); - ata_power_on(); + if (poweroff) { + ata_power_on(); + poweroff = false; + } + else { + perform_soft_reset(); + } + sleeping = false; ata_led(false); mutex_unlock(&ata_mtx); } -- cgit v1.2.3