aboutsummaryrefslogtreecommitdiff
path: root/libfdt
diff options
context:
space:
mode:
authorOliver O'Halloran <oohall@gmail.com>2019-05-10 14:44:59 +1000
committerStewart Smith <stewart@linux.ibm.com>2019-05-20 14:20:29 +1000
commit27d1ef2ebabb07a1958b94049cac3d90a101c3d5 (patch)
tree7f91b6d89358eebd21c742ace02ec76f02f8d397 /libfdt
parent76c569ca3000861b97635402741faa4f87641c3a (diff)
downloadskiboot-27d1ef2ebabb07a1958b94049cac3d90a101c3d5.zip
skiboot-27d1ef2ebabb07a1958b94049cac3d90a101c3d5.tar.gz
skiboot-27d1ef2ebabb07a1958b94049cac3d90a101c3d5.tar.bz2
opal-gard: Account for ECC size when clearing partition
When 'opal-gard clear all' is run, it works by erasing the GUARD then using blockevel_smart_write() to write nothing to the partition. This second write call is needed because we rely on libflash to set the ECC bits appropriately when the partition contained ECCed data. The API for this is a little odd with the caller specifying how much actual data to write, and libflash writing size + size/8 bytes since there is one additional ECC byte for every eight bytes of data. We currently do not account for the extra space consumed by the ECC data in reset_partition() which is used to handle the 'clear all' command. Which results in the paritition following the GUARD partition being partially overwritten when the command is used. This patch fixes the problem by reducing the length we would normally write by the number of ECC bytes required. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Tested-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'libfdt')
0 files changed, 0 insertions, 0 deletions