In the previous while loop, "ret" may be assigned zero. Therefore, "ret" needs to be assigned -EINVAL at the beginning of each loop. Fixes: 97167e813415 ("staging/rdma/hfi1: Tune for unknown channel if configuration file is absent") Signed-off-by: Wang Yufen <wangyufen@xxxxxxxxxx> --- drivers/infiniband/hw/hfi1/firmware.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/infiniband/hw/hfi1/firmware.c b/drivers/infiniband/hw/hfi1/firmware.c index 1d77514..c179dfe 100644 --- a/drivers/infiniband/hw/hfi1/firmware.c +++ b/drivers/infiniband/hw/hfi1/firmware.c @@ -1788,6 +1788,7 @@ int parse_platform_config(struct hfi1_devdata *dd) * being used. */ while (ptr < (u32 *)(dd->platform_config.data + file_length)) { + ret = -EINVAL; header1 = *ptr; header2 = *(ptr + 1); if (header1 != ~header2) { -- 1.8.3.1