lib: optee_clientApi: write table when verify table fail

Change-Id: I38d055945da5bf183e34588a08d8964c2d810f5f
Signed-off-by: Hisping Lin <hisping.lin@rock-chips.com>
This commit is contained in:
Hisping Lin 2018-12-21 11:18:06 +08:00 committed by Kever Yang
parent 270ed4a992
commit 40f13eb771
1 changed files with 8 additions and 5 deletions

View File

@ -320,7 +320,7 @@ static int rkss_verify_ptable(unsigned char *table_data)
{
unsigned char *cp, *vp;
struct rkss_file_verification *verify;
int ret, i;
int ret, i, write_table_flag = 0;
for (i = 0; i < RKSS_PARTITION_TABLE_COUNT; i++) {
cp = table_data + (i * RKSS_DATA_LEN);
@ -333,12 +333,15 @@ static int rkss_verify_ptable(unsigned char *table_data)
memset(cp, 0, RKSS_DATA_LEN);
verify->checkstr = RKSS_CHECK_STR;
verify->version = RKSS_VERSION;
write_table_flag = 1;
}
}
ret = rkss_write_multi_sections(table_data, 0, RKSS_PARTITION_TABLE_COUNT);
if (ret < 0) {
printf("rkss_write_multi_sections failed!!! ret: %d.", ret);
return -1;
if (write_table_flag == 1) {
ret = rkss_write_multi_sections(table_data, 0, RKSS_PARTITION_TABLE_COUNT);
if (ret < 0) {
printf("rkss_write_multi_sections failed!!! ret: %d.", ret);
return -1;
}
}
debug("verify ptable success.");
return 0;