From c2eb67bc9f913b6bb56b9e1b7b54ddc5516cee7c Mon Sep 17 00:00:00 2001 From: Miika Pekkarinen Date: Wed, 9 Aug 2006 07:41:28 +0000 Subject: Unload tagcache from ram when entering USB mode. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10496 a1c6a512-1295-4272-9138-f99709370657 --- apps/tagcache.c | 7 +++++++ apps/tagcache.h | 1 + apps/tree.c | 8 ++++++++ 3 files changed, 16 insertions(+) diff --git a/apps/tagcache.c b/apps/tagcache.c index 4812198167..4bcf25bad2 100644 --- a/apps/tagcache.c +++ b/apps/tagcache.c @@ -3295,6 +3295,13 @@ static void load_ramcache(void) cpu_boost(false); } + +void tagcache_unload_ramcache(void) +{ + stat.ramcache = false; + /* Just to make sure there is no statefile present. */ + remove(TAGCACHE_STATEFILE); +} #endif static bool check_all_headers(void) diff --git a/apps/tagcache.h b/apps/tagcache.h index d5ce772904..b27d804792 100644 --- a/apps/tagcache.h +++ b/apps/tagcache.h @@ -155,6 +155,7 @@ bool tagcache_prepare_shutdown(void); #ifdef HAVE_TC_RAMCACHE bool tagcache_is_ramcache(void); bool tagcache_fill_tags(struct mp3entry *id3, const char *filename); +void tagcache_unload_ramcache(void); #endif void tagcache_init(void); bool tagcache_is_initialized(void); diff --git a/apps/tree.c b/apps/tree.c index 7b553a5960..1dbe9223b9 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -1365,6 +1365,10 @@ void tree_flush(void) tagcache_stop_scan(); playlist_shutdown(); +#ifdef HAVE_TC_RAMCACHE + tagcache_unload_ramcache(); +#endif + #ifdef HAVE_DIRCACHE if (global_settings.dircache) { @@ -1387,6 +1391,10 @@ void tree_flush(void) void tree_restore(void) { +#ifdef HAVE_EEPROM + firmware_settings.disk_clean = false; +#endif + #ifdef HAVE_DIRCACHE remove(DIRCACHE_FILE); if (global_settings.dircache) -- cgit v1.2.3