summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2004-02-16 23:25:01 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2004-02-16 23:25:01 +0000
commitc3b9720ab4ee274fc3f4cfb99d91387d43b1393a (patch)
tree12032697740ea679b85415c4e6f80ce33a03b58b /firmware/drivers
parentae6e33e921f3b6aa7ddc21d5b07d4eb2301389b6 (diff)
downloadrockbox-c3b9720ab4ee274fc3f4cfb99d91387d43b1393a.tar.gz
rockbox-c3b9720ab4ee274fc3f4cfb99d91387d43b1393a.zip
Bug 1: The STANDBY mode is now explicitly disabled, since it could be set to 30s at powerup. Bug 2: set_features() wasn't called in ata_power_on().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4307 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/ata.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c
index 1bf5b5cf04..a96705f981 100644
--- a/firmware/drivers/ata.c
+++ b/firmware/drivers/ata.c
@@ -606,7 +606,11 @@ int ata_standby(int time)
606 return -1; 606 return -1;
607 } 607 }
608 608
609 ATA_NSECTOR = ((time + 5) / 5) & 0xff; /* Round up to nearest 5 secs */ 609 if(time)
610 ATA_NSECTOR = ((time + 5) / 5) & 0xff; /* Round up to nearest 5 secs */
611 else
612 ATA_NSECTOR = 0; /* Disable standby */
613
610 ATA_COMMAND = CMD_STANDBY; 614 ATA_COMMAND = CMD_STANDBY;
611 615
612 if (!wait_for_rdy()) 616 if (!wait_for_rdy())
@@ -873,6 +877,8 @@ static int set_features(void)
873 }; 877 };
874 int i; 878 int i;
875 879
880 return 0;
881
876 ATA_SELECT = ata_device; 882 ATA_SELECT = ata_device;
877 883
878 if (!wait_for_rdy()) { 884 if (!wait_for_rdy()) {
@@ -969,6 +975,8 @@ int ata_init(void)
969 if (rc) 975 if (rc)
970 return -60 + rc; 976 return -60 + rc;
971 977
978 ata_standby(0);
979
972 queue_init(&ata_queue); 980 queue_init(&ata_queue);
973 981
974 last_disk_activity = current_tick; 982 last_disk_activity = current_tick;