Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Rockbox mail archive

Subject: Re: [ rockbox-Bugs-701356 ] Power Save feature kills playlist playback
From: Mike Holden (rockbox_at_mikeholden.uklinux.net)
Date: 2003-03-11


Roy Horton said:
> I have not had this problem either with Power Saving on as far back as
> I can recall... but I have had songs continue playing, with no sound
> coming out.. I start the song over again and it works fine...

I think this is related to the problems with lockups with the unit moving
when it tries to read the disk.

I have 1 patch to submit which I am testing, which fixes a problem in
readwrite(), where an error is returned even though some data has been
read successfully. Basically in file.c:readwrite(), if we read some head
data (cached from an earlier disk read), then we should return that data
successfully, even if we subsequently get a disk error. At the moment, we
return < 0, even though we have put data in the buffer.

There is also another problem, which I believe is probably in the
ata_read_sectors() code. I have not yet debugged this (not easy!), but I
suspect that the hardware is reading less sectors than we requested, but
has still read some sectors. We are assuming we have read it all and are
filling the buffer, partially with mpeg data, but partly with nulls as
well. Is there anybody here who understands what is going on with this
code (Linux, Daniel etc?). Can we check from the status codes how much
data has been read into ATA_DATA? Are we guaranteed to get everything we
asked for, or could we get less than we requested, but still something?

It would be good to get this bug nailed before 2.0 goes out, as for me it
is the only showstopper problem. I have several other minor niggles, but
many are cosmetic or not really a big issue. This one however stops me
using Rockbox when out walking, and it bugs me big-time!

-- 
Mike Holden



Page was last modified "Jan 10 2012" The Rockbox Crew
aaa