From cf92db153f5c6115466c58268bbd90e7a05ab472 Mon Sep 17 00:00:00 2001 From: Björn Stenberg Date: Fri, 11 Apr 2003 07:43:04 +0000 Subject: Don't enter cpu sleep during disk operations git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3530 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/ata.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'firmware') diff --git a/firmware/drivers/ata.c b/firmware/drivers/ata.c index c72ebb8790..69e40c8a7d 100644 --- a/firmware/drivers/ata.c +++ b/firmware/drivers/ata.c @@ -112,8 +112,7 @@ static int wait_for_bsy(void) int timeout = current_tick + HZ*10; last_disk_activity = timeout; while (TIME_BEFORE(current_tick, timeout) && (ATA_ALT_STATUS & STATUS_BSY)) - sleep_thread(); - wake_up_thread(); + yield(); if (TIME_BEFORE(current_tick, timeout)) return 1; @@ -132,10 +131,8 @@ static int wait_for_rdy(void) timeout = current_tick + HZ*10; last_disk_activity = timeout; - while (TIME_BEFORE(current_tick, timeout) && - !(ATA_ALT_STATUS & STATUS_RDY)) - sleep_thread(); - wake_up_thread(); + while (TIME_BEFORE(current_tick, timeout) && !(ATA_ALT_STATUS & STATUS_RDY)) + yield(); if (TIME_BEFORE(current_tick, timeout)) return STATUS_RDY; -- cgit v1.2.3