[Skiboot] [PATCH 2/3] flash: Use blocklevel to do ECC reads

Michael Neuling mikey at neuling.org
Mon Jul 4 17:46:41 AEST 2016


From: Alistair Popple <alistair at popple.id.au>

flash_read_corrected() assumes the passed blocklevel device is an
actual flash device. However the blocklevel flash abstraction supports
automatically reading ECC protected data so use that instead.

Signed-off-by: Alistair Popple <alistair at popple.id.au>
Signed-off-by: Michael Neuling <mikey at neuling.org>
---
 core/flash.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/core/flash.c b/core/flash.c
index 5036707..81bb59b 100644
--- a/core/flash.c
+++ b/core/flash.c
@@ -573,7 +573,7 @@ static int flash_load_resource(enum resource_id id, uint32_t subid,
 		goto out_unlock;
 	}
 
-	rc = ffs_init(0, flash->size, flash->bl, &ffs, 0);
+	rc = ffs_init(0, flash->size, flash->bl, &ffs, 1);
 	if (rc) {
 		prerror("FLASH: Can't open ffs handle\n");
 		goto out_unlock;
@@ -623,7 +623,7 @@ static int flash_load_resource(enum resource_id id, uint32_t subid,
 		goto out_free_ffs;
 	}
 
-	rc = flash_read_corrected(flash->bl, part_start, buf, size, ecc);
+	rc = blocklevel_read(flash->bl, part_start, buf, size);
 	if (rc) {
 		prerror("FLASH: failed to read %s partition\n", name);
 		goto out_free_ffs;
-- 
2.7.4



More information about the Skiboot mailing list