diff options
| author | Björn Stenberg <bjorn@haxx.se> | 2002-08-26 22:05:47 +0000 |
|---|---|---|
| committer | Björn Stenberg <bjorn@haxx.se> | 2002-08-26 22:05:47 +0000 |
| commit | f0599be133804a47f76944d53dbeec29b7d86df8 (patch) | |
| tree | 41d6656cad69ad1d43a6c6c2682ef8de7a43cd46 | |
| parent | 457b8a0a6743b7bee72d90e484055b7635861612 (diff) | |
| download | rockbox-f0599be133804a47f76944d53dbeec29b7d86df8.zip rockbox-f0599be133804a47f76944d53dbeec29b7d86df8.tar.gz rockbox-f0599be133804a47f76944d53dbeec29b7d86df8.tar.bz2 rockbox-f0599be133804a47f76944d53dbeec29b7d86df8.tar.xz | |
Don't call perform_sleep() while already sleeping
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@1988 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/drivers/ata.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index e867ac2..ec0fe35 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c @@ -163,6 +163,7 @@ int ata_read_sectors(unsigned long start, return -1; } #endif + sleeping = false; } #endif mutex_lock(&ata_mtx); @@ -179,7 +180,7 @@ int ata_read_sectors(unsigned long start, ATA_NSECTOR = 0; /* 0 means 256 sectors */ else ATA_NSECTOR = (unsigned char)count; - + ATA_SECTOR = start & 0xff; ATA_LCYL = (start >> 8) & 0xff; ATA_HCYL = (start >> 16) & 0xff; @@ -239,6 +240,7 @@ int ata_write_sectors(unsigned long start, last_disk_activity = current_tick; #ifndef USE_STANDBY + if ( sleeping ) { #ifdef USE_POWEROFF if (ata_power_on()) { return -1; @@ -248,6 +250,8 @@ int ata_write_sectors(unsigned long start, return -1; } #endif + sleeping = false; + } #endif mutex_lock(&ata_mtx); @@ -408,6 +412,7 @@ static void ata_thread(void) while (1) { while ( queue_empty( &ata_queue ) ) { if ( sleep_timeout && + !sleeping && TIME_AFTER( current_tick, last_user_activity + sleep_timeout ) && TIME_AFTER( current_tick, |