From 81120849d0382eddfc14010444505cd5230b81ec Mon Sep 17 00:00:00 2001 From: suchmememanyskill Date: Sat, 23 Jan 2021 00:09:23 +0100 Subject: [PATCH] fix the bis cluster cache if too much data was read --- source/storage/nx_emmc_bis.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/storage/nx_emmc_bis.c b/source/storage/nx_emmc_bis.c index 7b9a7a2..e551a13 100644 --- a/source/storage/nx_emmc_bis.c +++ b/source/storage/nx_emmc_bis.c @@ -219,6 +219,10 @@ static int nx_emmc_bis_read_block(u32 sector, u32 count, void *buff) // Check if cache entry was previously in use in case of cache loop. if (cache_filled == 1 && bis_cache->cluster_cache[cluster_cache_end_index].dirty == 1) _nx_emmc_bis_flush_cluster(&bis_cache->cluster_cache[cluster_cache_end_index]); + + if (cache_filled == 1) + cluster_lookup[bis_cache->cluster_cache[cluster_cache_end_index].cluster_num] = -1; + bis_cache->cluster_cache[cluster_cache_end_index].cluster_num = cluster; bis_cache->cluster_cache[cluster_cache_end_index].visit_count = 1; bis_cache->cluster_cache[cluster_cache_end_index].dirty = 0;