net/bnxt: fix unchecked return value

Message ID 20210316054125.980-1-kalesh-anakkur.purayil@broadcom.com (mailing list archive)
State Accepted, archived
Delegated to: Ajit Khaparde
Headers
Series net/bnxt: fix unchecked return value |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/travis-robot success travis build: passed
ci/github-robot success github build: passed
ci/iol-abi-testing success Testing PASS
ci/iol-testing success Testing PASS
ci/iol-mellanox-Functional success Functional Testing PASS
ci/iol-mellanox-Performance fail Performance Testing issues
ci/iol-intel-Performance success Performance Testing PASS
ci/intel-Testing success Testing PASS

Commit Message

Kalesh A P March 16, 2021, 5:41 a.m. UTC
  From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>

CID 363716 (#1 of 1): Unchecked return value (CHECKED_RETURN)
check_return: Calling rte_pci_write_config without checking
return value (as is done elsewhere 46 out of 49 times).

Coverity issue: 363716

Fixes: be14720def9c ("net/bnxt: support FW reset")
Cc: stable@dpdk.org

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
  

Comments

Ajit Khaparde March 18, 2021, 12:44 a.m. UTC | #1
On Mon, Mar 15, 2021 at 10:19 PM Kalesh A P
<kalesh-anakkur.purayil@broadcom.com> wrote:
>
> From: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
>
> CID 363716 (#1 of 1): Unchecked return value (CHECKED_RETURN)
> check_return: Calling rte_pci_write_config without checking
> return value (as is done elsewhere 46 out of 49 times).
>
> Coverity issue: 363716
>
> Fixes: be14720def9c ("net/bnxt: support FW reset")
> Cc: stable@dpdk.org
>
> Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Patch applied to dpdk-next-net-brcm.

> ---
>  drivers/net/bnxt/bnxt_ethdev.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index 6cc6af0..202b082 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -3860,13 +3860,19 @@ static void bnxt_write_fw_reset_reg(struct bnxt *bp, uint32_t index)
>         uint32_t val = info->reset_reg_val[index];
>         uint32_t reg = info->reset_reg[index];
>         uint32_t type, offset;
> +       int ret;
>
>         type = BNXT_FW_STATUS_REG_TYPE(reg);
>         offset = BNXT_FW_STATUS_REG_OFF(reg);
>
>         switch (type) {
>         case BNXT_FW_STATUS_REG_TYPE_CFG:
> -               rte_pci_write_config(bp->pdev, &val, sizeof(val), offset);
> +               ret = rte_pci_write_config(bp->pdev, &val, sizeof(val), offset);
> +               if (ret < 0) {
> +                       PMD_DRV_LOG(ERR, "Failed to write %#x at PCI offset %#x",
> +                                   val, offset);
> +                       return;
> +               }
>                 break;
>         case BNXT_FW_STATUS_REG_TYPE_GRC:
>                 offset = bnxt_map_reset_regs(bp, offset);
> --
> 2.10.1
>
  

Patch

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 6cc6af0..202b082 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -3860,13 +3860,19 @@  static void bnxt_write_fw_reset_reg(struct bnxt *bp, uint32_t index)
 	uint32_t val = info->reset_reg_val[index];
 	uint32_t reg = info->reset_reg[index];
 	uint32_t type, offset;
+	int ret;
 
 	type = BNXT_FW_STATUS_REG_TYPE(reg);
 	offset = BNXT_FW_STATUS_REG_OFF(reg);
 
 	switch (type) {
 	case BNXT_FW_STATUS_REG_TYPE_CFG:
-		rte_pci_write_config(bp->pdev, &val, sizeof(val), offset);
+		ret = rte_pci_write_config(bp->pdev, &val, sizeof(val), offset);
+		if (ret < 0) {
+			PMD_DRV_LOG(ERR, "Failed to write %#x at PCI offset %#x",
+				    val, offset);
+			return;
+		}
 		break;
 	case BNXT_FW_STATUS_REG_TYPE_GRC:
 		offset = bnxt_map_reset_regs(bp, offset);