Rockbox mail archive
Subject: Re: Red led dead - this is where it goes wrong!!!
From: Mike Holden (rockbox_at_mikeholden.uklinux.net)
Björn Stenberg said:
> Mike Holden wrote:
>> I replied to this mail a while ago saying that this patch was a good
>> idea as it seemed to reduce the number of RLD occurrences, and made it
>> more likely that the disk would recover from shocks.
> I produced a test version with this patch and a couple of people tested
> it. Unfortunately, it didn't eliminate RLD.
No, it doesn't eliminate it, but it does reduce the likelihood!
>> I suggested that this patch be implemented, and also suggested that
>> the timeouts in wait_for_bsy() and wait_for_rdy() in ata.c be reduced
>> from 10 seconds to something like 2 seconds, or even 1 second. When a
>> wait in these 2 functions succeeds, the wait time is less than 200
>> ticks (0.2 seconds), so 1 second should be fine.
> I haven't done this because I don't like the idea of breaking the ATA
> specification only to lessen the impact of our own bugs.
Fair enough. Does the spec state we must wait 10 seconds? If so, then I'm
sure we must comply with that.
> I want to fix the bugs instead.
So do I!!! It may be that we can never totally eliminate the locking up of
the unit on motion problems - Archos sometimes locks up when on the move,
but not as much as Rockbox. A reasonable error on detection of the error
informing we need to reboot would be acceptable (but not ideal,
At the very least, can we get rid of that awful perform_soft_reset()
function that takes 90 seconds to complete, as this makes the impact of
the problem far more severe than it needs to be. As I have stated earlier,
it loops through a 10 second wait 9 times, before returning an error to
the mpeg layer. Rockbox then skips to the next track and again waits 90
seconds and so on to the end of the playlist/directory. Rockbox is not
actually dead (it has not ceased to be ...), but just moving very slowly!
Rockbox page: http://www.mikeholden.org/~rockbox
Page was last modified "Jan 10 2012" The Rockbox Crew