Commit 05069dd4 authored by Vasundhara Volam's avatar Vasundhara Volam Committed by David S. Miller

bnxt_en: Return proper error code for non-existent NVM variable

For NVM params that are not supported in the current NVM
configuration, return the error as -EOPNOTSUPP.
Signed-off-by: default avatarVasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e4e38237
...@@ -335,10 +335,17 @@ static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg, ...@@ -335,10 +335,17 @@ static int bnxt_hwrm_nvm_req(struct bnxt *bp, u32 param_id, void *msg,
} else { } else {
rc = hwrm_send_message_silent(bp, msg, msg_len, rc = hwrm_send_message_silent(bp, msg, msg_len,
HWRM_CMD_TIMEOUT); HWRM_CMD_TIMEOUT);
if (!rc) if (!rc) {
bnxt_copy_from_nvm_data(val, data, bnxt_copy_from_nvm_data(val, data,
nvm_param.nvm_num_bits, nvm_param.nvm_num_bits,
nvm_param.dl_num_bytes); nvm_param.dl_num_bytes);
} else {
struct hwrm_err_output *resp = bp->hwrm_cmd_resp_addr;
if (resp->cmd_err ==
NVM_GET_VARIABLE_CMD_ERR_CODE_VAR_NOT_EXIST)
rc = -EOPNOTSUPP;
}
} }
dma_free_coherent(&bp->pdev->dev, sizeof(*data), data, data_dma_addr); dma_free_coherent(&bp->pdev->dev, sizeof(*data), data, data_dma_addr);
if (rc == -EACCES) if (rc == -EACCES)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment