From 8f91623db98961c4434aa0bdc0195ef848e58975 Mon Sep 17 00:00:00 2001 From: Werner Zeh Date: Thu, 1 Dec 2016 10:53:14 +0100 Subject: [PATCH] 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 Reviewed-on: https://review.coreboot.org/17670 Tested-by: build bot (Jenkins) Reviewed-by: Mario Scheithauer --- src/vendorcode/siemens/hwilib/hwilib.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vendorcode/siemens/hwilib/hwilib.c b/src/vendorcode/siemens/hwilib/hwilib.c index 18880ff07e..df9bd2295e 100644 --- a/src/vendorcode/siemens/hwilib/hwilib.c +++ b/src/vendorcode/siemens/hwilib/hwilib.c @@ -396,7 +396,8 @@ static uint32_t hwilib_read_bytes (const struct param_info *param, uint8_t *dst, return 0; /* Take the first valid block to get the parameter from */ 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]; break; }