diff options
author | Alistair Popple <alistair@popple.id.au> | 2016-07-26 13:49:35 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-10-11 14:44:18 +1100 |
commit | d4a75dc289f268002339cab75a6f4a1d11fcc466 (patch) | |
tree | 29cc758819aa83f4fbec6517483999d9cb46f38a | |
parent | adebaf3e0e621240c2041ed8f1ce91f70795cfa9 (diff) | |
download | skiboot-d4a75dc289f268002339cab75a6f4a1d11fcc466.zip skiboot-d4a75dc289f268002339cab75a6f4a1d11fcc466.tar.gz skiboot-d4a75dc289f268002339cab75a6f4a1d11fcc466.tar.bz2 |
flash: Use blocklevel to do ECC reads
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@popple.id.au>
[Cyril added true to last param to ffs_init() in flash_register()]
[Cyril rebased onto 46c006f core/console: use char literals instead of
numeric]
Signed-off-by: Cyril Bur <cyril.bur@au1.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r-- | core/flash.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/flash.c b/core/flash.c index de7895c..2f81aff 100644 --- a/core/flash.c +++ b/core/flash.c @@ -302,7 +302,7 @@ int flash_register(struct blocklevel_device *bl) list_add(&flashes, &flash->list); - rc = ffs_init(0, flash->size, bl, &ffs, 0); + rc = ffs_init(0, flash->size, bl, &ffs, 1); if (rc) { /** * @fwts-label NoFFS @@ -553,7 +553,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; @@ -603,7 +603,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, rc %d\n", name, rc); goto out_free_ffs; |