diff options
author | Miika Pekkarinen <miipekk@ihme.org> | 2006-08-11 10:13:16 +0000 |
---|---|---|
committer | Miika Pekkarinen <miipekk@ihme.org> | 2006-08-11 10:13:16 +0000 |
commit | 3b52bb9c68665c6860c7da6f8ee0b3d8fe26d53d (patch) | |
tree | 4a286c9f43aa15899857119b54759141bb68d8dd /apps | |
parent | 1204136632777e84eac790811fb074552ef2e6b7 (diff) |
Properly handle early USB mode, dircache and tagcache state files with
flashed rockbox.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10525 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/main.c | 14 | ||||
-rw-r--r-- | apps/tagcache.c | 2 | ||||
-rw-r--r-- | apps/tree.c | 10 |
3 files changed, 16 insertions, 10 deletions
diff --git a/apps/main.c b/apps/main.c index d590790a85..a3fe8ef64f 100644 --- a/apps/main.c +++ b/apps/main.c @@ -338,9 +338,17 @@ void init(void) panicf("ata: %d", rc); } +#ifdef HAVE_EEPROM + eeprom_settings_init(); +#endif + usb_start_monitoring(); while (usb_detect()) - { /* enter USB mode early, before trying to mount */ + { +#ifdef HAVE_EEPROM + firmware_settings.disk_clean = false; +#endif + /* enter USB mode early, before trying to mount */ if (button_get_w_tmo(HZ/10) == SYS_USB_CONNECTED) #ifdef HAVE_MMC if (!mmc_touched() || (mmc_remove_request() == SYS_MMC_EXTRACTED)) @@ -374,10 +382,6 @@ void init(void) } } -#ifdef HAVE_EEPROM - eeprom_settings_init(); -#endif - settings_calc_config_sector(); #if defined(SETTINGS_RESET) || (CONFIG_KEYPAD == IPOD_4G_PAD) diff --git a/apps/tagcache.c b/apps/tagcache.c index 4bcf25bad2..ec713e29a4 100644 --- a/apps/tagcache.c +++ b/apps/tagcache.c @@ -3300,7 +3300,7 @@ void tagcache_unload_ramcache(void) { stat.ramcache = false; /* Just to make sure there is no statefile present. */ - remove(TAGCACHE_STATEFILE); + // remove(TAGCACHE_STATEFILE); } #endif diff --git a/apps/tree.c b/apps/tree.c index 1dbe9223b9..0dd03779a5 100644 --- a/apps/tree.c +++ b/apps/tree.c @@ -1368,16 +1368,14 @@ void tree_flush(void) #ifdef HAVE_TC_RAMCACHE tagcache_unload_ramcache(); #endif - + #ifdef HAVE_DIRCACHE if (global_settings.dircache) { + global_settings.dircache_size = dircache_get_cache_size(); # ifdef HAVE_EEPROM if (dircache_is_enabled() && firmware_settings.initialized) - { - global_settings.dircache_size = dircache_get_cache_size(); dircache_save(DIRCACHE_FILE); - } # endif dircache_disable(); } @@ -1395,6 +1393,10 @@ void tree_restore(void) firmware_settings.disk_clean = false; #endif +#ifdef HAVE_TC_RAMCACHE + remove(TAGCACHE_STATEFILE); +#endif + #ifdef HAVE_DIRCACHE remove(DIRCACHE_FILE); if (global_settings.dircache) |