mirror of https://github.com/OpenIPC/firmware.git
22 lines
645 B
Diff
22 lines
645 B
Diff
diff -drupN a/fs/squashfs/cache.c b/fs/squashfs/cache.c
|
|
--- a/fs/squashfs/cache.c 2018-08-06 17:23:04.000000000 +0300
|
|
+++ b/fs/squashfs/cache.c 2022-06-12 05:28:14.000000000 +0300
|
|
@@ -191,6 +191,17 @@ void squashfs_cache_put(struct squashfs_
|
|
entry->refcount--;
|
|
if (entry->refcount == 0) {
|
|
cache->unused++;
|
|
+
|
|
+ /*
|
|
+ * If error of this entry is occured, we need to
|
|
+ * mark it to SQUASHFS_INVALID_BLK, and clear the
|
|
+ * error variable.
|
|
+ */
|
|
+ if (entry->error) {
|
|
+ entry->error = 0;
|
|
+ entry->block = SQUASHFS_INVALID_BLK;
|
|
+ }
|
|
+
|
|
/*
|
|
* If there's any processes waiting for a block to become
|
|
* available, wake one up.
|