.. | .. |
---|
158 | 158 | int rk_avb_read_lock_state(uint8_t *lock_state) |
---|
159 | 159 | { |
---|
160 | 160 | #ifdef CONFIG_OPTEE_CLIENT |
---|
| 161 | + uint8_t vboot_flag = 0; |
---|
161 | 162 | int ret; |
---|
162 | 163 | |
---|
163 | 164 | ret = trusty_read_lock_state(lock_state); |
---|
.. | .. |
---|
167 | 168 | case TEE_ERROR_GENERIC: |
---|
168 | 169 | case TEE_ERROR_NO_DATA: |
---|
169 | 170 | case TEE_ERROR_ITEM_NOT_FOUND: |
---|
170 | | - *lock_state = 1; |
---|
| 171 | + if (trusty_read_vbootkey_enable_flag(&vboot_flag)) { |
---|
| 172 | + printf("Can't read vboot flag\n"); |
---|
| 173 | + return -1; |
---|
| 174 | + } |
---|
| 175 | + |
---|
| 176 | + if (vboot_flag) |
---|
| 177 | + *lock_state = 0; |
---|
| 178 | + else |
---|
| 179 | + *lock_state = 1; |
---|
| 180 | + |
---|
171 | 181 | if (rk_avb_write_lock_state(*lock_state)) { |
---|
172 | 182 | printf("avb_write_lock_state error!"); |
---|
173 | 183 | ret = -1; |
---|