[2/2] net/bnxt: pass dev args by reference

Message ID 20201030070304.22318-2-somnath.kotur@broadcom.com (mailing list archive)
State Accepted, archived
Delegated to: Ajit Khaparde
Headers
Series [1/2] net/bnxt: log failure for switch domain free |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation fail apply issues

Commit Message

Somnath Kotur Oct. 30, 2020, 7:03 a.m. UTC
  Pass 'eth_da' pointer instead of pass by value to
bnxt_rep_port_probe()

Coverity issue: 360841

Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure")
Cc: stable@dpdk.org

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Kalesh Anakkur Purayil <kalesh-anakkur.purayil@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
  

Comments

Ajit Khaparde Nov. 1, 2020, 3:19 a.m. UTC | #1
On Fri, Oct 30, 2020 at 12:11 AM Somnath Kotur
<somnath.kotur@broadcom.com> wrote:
>
> Pass 'eth_da' pointer instead of pass by value to
> bnxt_rep_port_probe()
>
> Coverity issue: 360841
>
> Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure")
> Cc: stable@dpdk.org
>
> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
> Reviewed-by: Kalesh Anakkur Purayil <kalesh-anakkur.purayil@broadcom.com>
Patch applied to dpdk-next-net-brcm.

> ---
>  drivers/net/bnxt/bnxt_ethdev.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index 31e94f2..6a77e57 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -6288,7 +6288,7 @@ static int bnxt_init_rep_info(struct bnxt *bp)
>  }
>
>  static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
> -                              struct rte_eth_devargs eth_da,
> +                              struct rte_eth_devargs *eth_da,
>                                struct rte_eth_dev *backing_eth_dev,
>                                const char *dev_args)
>  {
> @@ -6299,7 +6299,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
>         int i, ret = 0;
>         struct rte_kvargs *kvlist = NULL;
>
> -       num_rep = eth_da.nb_representor_ports;
> +       num_rep = eth_da->nb_representor_ports;
>         if (num_rep > BNXT_MAX_VF_REPS) {
>                 PMD_DRV_LOG(ERR, "nb_representor_ports = %d > %d MAX VF REPS\n",
>                             num_rep, BNXT_MAX_VF_REPS);
> @@ -6329,7 +6329,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
>
>         for (i = 0; i < num_rep; i++) {
>                 struct bnxt_representor representor = {
> -                       .vf_id = eth_da.representor_ports[i],
> +                       .vf_id = eth_da->representor_ports[i],
>                         .switch_domain_id = backing_bp->switch_domain_id,
>                         .parent_dev = backing_eth_dev
>                 };
> @@ -6342,7 +6342,7 @@ static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
>
>                 /* representor port net_bdf_port */
>                 snprintf(name, sizeof(name), "net_%s_representor_%d",
> -                        pci_dev->device.name, eth_da.representor_ports[i]);
> +                        pci_dev->device.name, eth_da->representor_ports[i]);
>
>                 kvlist = rte_kvargs_parse(dev_args, bnxt_dev_args);
>                 if (kvlist) {
> @@ -6505,7 +6505,7 @@ static int bnxt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
>                 return ret;
>
>         /* probe representor ports now */
> -       ret = bnxt_rep_port_probe(pci_dev, eth_da, backing_eth_dev,
> +       ret = bnxt_rep_port_probe(pci_dev, &eth_da, backing_eth_dev,
>                                   pci_dev->device.devargs->args);
>
>         return ret;
> --
> 2.7.4
>
  

Patch

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 31e94f2..6a77e57 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -6288,7 +6288,7 @@  static int bnxt_init_rep_info(struct bnxt *bp)
 }
 
 static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
-			       struct rte_eth_devargs eth_da,
+			       struct rte_eth_devargs *eth_da,
 			       struct rte_eth_dev *backing_eth_dev,
 			       const char *dev_args)
 {
@@ -6299,7 +6299,7 @@  static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 	int i, ret = 0;
 	struct rte_kvargs *kvlist = NULL;
 
-	num_rep = eth_da.nb_representor_ports;
+	num_rep = eth_da->nb_representor_ports;
 	if (num_rep > BNXT_MAX_VF_REPS) {
 		PMD_DRV_LOG(ERR, "nb_representor_ports = %d > %d MAX VF REPS\n",
 			    num_rep, BNXT_MAX_VF_REPS);
@@ -6329,7 +6329,7 @@  static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 
 	for (i = 0; i < num_rep; i++) {
 		struct bnxt_representor representor = {
-			.vf_id = eth_da.representor_ports[i],
+			.vf_id = eth_da->representor_ports[i],
 			.switch_domain_id = backing_bp->switch_domain_id,
 			.parent_dev = backing_eth_dev
 		};
@@ -6342,7 +6342,7 @@  static int bnxt_rep_port_probe(struct rte_pci_device *pci_dev,
 
 		/* representor port net_bdf_port */
 		snprintf(name, sizeof(name), "net_%s_representor_%d",
-			 pci_dev->device.name, eth_da.representor_ports[i]);
+			 pci_dev->device.name, eth_da->representor_ports[i]);
 
 		kvlist = rte_kvargs_parse(dev_args, bnxt_dev_args);
 		if (kvlist) {
@@ -6505,7 +6505,7 @@  static int bnxt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 		return ret;
 
 	/* probe representor ports now */
-	ret = bnxt_rep_port_probe(pci_dev, eth_da, backing_eth_dev,
+	ret = bnxt_rep_port_probe(pci_dev, &eth_da, backing_eth_dev,
 				  pci_dev->device.devargs->args);
 
 	return ret;