[Bugfix][API-584]reduce ubi problem
Change-Id: I699ddb0a73c652acad7d5119841599f3e0a933d0
diff --git a/src/kernel/linux/v4.19/drivers/mtd/nandx/core/nfi/nfi_base.c b/src/kernel/linux/v4.19/drivers/mtd/nandx/core/nfi/nfi_base.c
index 679a426..7126bf0 100644
--- a/src/kernel/linux/v4.19/drivers/mtd/nandx/core/nfi/nfi_base.c
+++ b/src/kernel/linux/v4.19/drivers/mtd/nandx/core/nfi/nfi_base.c
@@ -1135,11 +1135,18 @@
}
}
- if (read && nb->read_status == -ENANDREAD) {
- is_empty = nb->is_page_empty(nb, data, fdm,
- nb->rw_sectors);
- if (is_empty)
- nb->read_status = 0;
+ if (read) {
+ is_empty = nb->is_page_empty(nb, data, fdm, nb->rw_sectors);
+ if (is_empty) {
+ nb->read_status = 0;
+
+ /* try to memset 0xff for empty page */
+ if (data)
+ memset(data, 0xff, nb->access_len);
+ if (nb->ecc_en && fdm)
+ memset(fdm, 0xff, nb->nfi.fdm_size * nb->rw_sectors);
+ }
+
}
/* whether it's reading or writing, we all check if nee swap