vendorcode/siemens: Ensure a given info block is available for a field

While searching for a field in all blocks ensure that the checked block
is available and can be used. In this way a field can be retrieved from
every block and not just the first one.

Change-Id: Idbd7656ab0664763cb065f5e817193ad1d9e0871
Signed-off-by: Werner Zeh <werner.zeh@siemens.com>
Reviewed-on: https://review.coreboot.org/17670
Tested-by: build bot (Jenkins)
Reviewed-by: Mario Scheithauer <mario.scheithauer@siemens.com>
This commit is contained in:
Werner Zeh 2016-12-01 10:53:14 +01:00
parent 425890e59a
commit 8f91623db9
1 changed files with 2 additions and 1 deletions

View File

@ -396,7 +396,8 @@ static uint32_t hwilib_read_bytes (const struct param_info *param, uint8_t *dst,
return 0; return 0;
/* Take the first valid block to get the parameter from */ /* Take the first valid block to get the parameter from */
do { do {
if ((param->pos[i].len) && (param->pos[i].offset)) { if ((param->pos[i].len) && (param->pos[i].offset) &&
(blk_ptr[param->pos[i].blk_type])) {
blk = blk_ptr[param->pos[i].blk_type]; blk = blk_ptr[param->pos[i].blk_type];
break; break;
} }