diff options
author | Michael Chan <michael.chan@broadcom.com> | 2019-08-30 06:54:46 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-08-31 00:02:18 +0300 |
commit | d4f1420d365633490aa134abfe408453d1c7c238 (patch) | |
tree | 6a721ef7a3ec508fde9564fc30fefa3355dd0373 /drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | |
parent | a935cb7ec449bca1adf806d7fb00f5032b63c6e0 (diff) | |
download | linux-d4f1420d365633490aa134abfe408453d1c7c238.tar.xz |
bnxt_en: Convert error code in firmware message response to standard code.
The main firmware messaging function returns the firmware defined error
code and many callers have to convert to standard error code for proper
propagation to userspace. Convert bnxt_hwrm_do_send_msg() to return
standard error code so we can do away with all the special error code
handling by the many callers.
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c')
-rw-r--r-- | drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index 72bb730ec534..a3a8722260d4 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -1743,12 +1743,8 @@ static int bnxt_flash_nvram(struct net_device *dev, rc = hwrm_send_message(bp, &req, sizeof(req), FLASH_NVRAM_TIMEOUT); dma_free_coherent(&bp->pdev->dev, data_len, kmem, dma_handle); - if (rc == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) { + if (rc == -EACCES) bnxt_print_admin_err(bp); - rc = -EACCES; - } else if (rc) { - rc = -EIO; - } return rc; } @@ -1798,12 +1794,8 @@ static int bnxt_firmware_reset(struct net_device *dev, } rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); - if (rc == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) { + if (rc == -EACCES) bnxt_print_admin_err(bp); - rc = -EACCES; - } else if (rc) { - rc = -EIO; - } return rc; } @@ -2098,12 +2090,8 @@ static int bnxt_flash_package_from_file(struct net_device *dev, flash_pkg_exit: mutex_unlock(&bp->hwrm_cmd_lock); err_exit: - if (hwrm_err == HWRM_ERR_CODE_RESOURCE_ACCESS_DENIED) { + if (hwrm_err == -EACCES) bnxt_print_admin_err(bp); - rc = -EACCES; - } else if (hwrm_err) { - rc = -EOPNOTSUPP; - } return rc; } @@ -2642,8 +2630,6 @@ static int bnxt_set_phys_id(struct net_device *dev, led_cfg->led_group_id = bp->leds[i].led_group_id; } rc = hwrm_send_message(bp, &req, sizeof(req), HWRM_CMD_TIMEOUT); - if (rc) - rc = -EIO; return rc; } |