From 84fc2e97a026907d0eb33a278d06f613b65afcdc Mon Sep 17 00:00:00 2001 From: Andy Moreton Date: Thu, 16 Nov 2017 08:03:52 +0000 Subject: [PATCH] net/sfc/base: simplify verify result handling Simplify verify result handling in NVRAM update finish Signed-off-by: Andy Moreton Signed-off-by: Andrew Rybchenko --- drivers/net/sfc/base/efx_nvram.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/drivers/net/sfc/base/efx_nvram.c b/drivers/net/sfc/base/efx_nvram.c index 14ff8290c0..7d4c9a09d7 100644 --- a/drivers/net/sfc/base/efx_nvram.c +++ b/drivers/net/sfc/base/efx_nvram.c @@ -944,24 +944,23 @@ efx_mcdi_nvram_update_finish( goto fail1; } - if (encp->enc_fw_verified_nvram_update_required == B_FALSE) { - /* Report success if verified updates are not supported. */ - result = MC_CMD_NVRAM_VERIFY_RC_SUCCESS; - } else { - /* Firmware-verified NVRAM updates are required */ - if (req.emr_out_length_used < - MC_CMD_NVRAM_UPDATE_FINISH_V2_OUT_LEN) { + if (req.emr_out_length_used < MC_CMD_NVRAM_UPDATE_FINISH_V2_OUT_LEN) { + result = MC_CMD_NVRAM_VERIFY_RC_UNKNOWN; + if (encp->enc_fw_verified_nvram_update_required) { + /* Mandatory verification result is missing */ rc = EMSGSIZE; goto fail2; } + } else { result = MCDI_OUT_DWORD(req, NVRAM_UPDATE_FINISH_V2_OUT_RESULT_CODE); + } - if (result != MC_CMD_NVRAM_VERIFY_RC_SUCCESS) { - /* Mandatory verification failed */ - rc = EINVAL; - goto fail3; - } + if ((encp->enc_fw_verified_nvram_update_required) && + (result != MC_CMD_NVRAM_VERIFY_RC_SUCCESS)) { + /* Mandatory verification failed */ + rc = EINVAL; + goto fail3; } if (resultp != NULL) -- 2.20.1