[dpdk-dev,1/2] cxgbe: fix to copy pci info to other ports under same PF

Message ID 52cbd2698f43bf5753fbb9b7e9d1dd678519d61f.1454152758.git.rahul.lakkireddy@chelsio.com (mailing list archive)
State Superseded, archived
Delegated to: Bruce Richardson
Headers

Commit Message

Rahul Lakkireddy Jan. 31, 2016, 11:22 a.m. UTC
  Chelsio NIC ports share a single PF. Move rte_eth_copy_pci_info()
to copy the pci device information to the remaining ports as well.

Fixes: eeefe73f0af1 ("drivers: copy PCI device info to ethdev data")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
---
 drivers/net/cxgbe/cxgbe_ethdev.c | 2 --
 drivers/net/cxgbe/cxgbe_main.c   | 3 +++
 2 files changed, 3 insertions(+), 2 deletions(-)
  

Comments

Bruce Richardson Feb. 24, 2016, 2:08 p.m. UTC | #1
On Sun, Jan 31, 2016 at 04:52:49PM +0530, Rahul Lakkireddy wrote:
> Chelsio NIC ports share a single PF. Move rte_eth_copy_pci_info()
> to copy the pci device information to the remaining ports as well.
> 
> Fixes: eeefe73f0af1 ("drivers: copy PCI device info to ethdev data")
> 
> Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
> Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
> ---

Hi,

can you perhaps submit this fix as a patch alone, without the copyright update
patch attached. [Feel free to upate the copyright year on the two files affected
here by this change, if you like.]

FYI: Also, the commit title is slightly too long. It should be around 50 characters
long (for me, vim highlights the correct length for me). It could be shortened
by dropping the word "other". :-)

/Bruce

>  drivers/net/cxgbe/cxgbe_ethdev.c | 2 --
>  drivers/net/cxgbe/cxgbe_main.c   | 3 +++
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
> index 97ef152..fd0eb1c 100644
> --- a/drivers/net/cxgbe/cxgbe_ethdev.c
> +++ b/drivers/net/cxgbe/cxgbe_ethdev.c
> @@ -819,8 +819,6 @@ static int eth_cxgbe_dev_init(struct rte_eth_dev *eth_dev)
>  
>  	pci_dev = eth_dev->pci_dev;
>  
> -	rte_eth_copy_pci_info(eth_dev, pci_dev);
> -
>  	snprintf(name, sizeof(name), "cxgbeadapter%d", eth_dev->data->port_id);
>  	adapter = rte_zmalloc(name, sizeof(*adapter), 0);
>  	if (!adapter)
> diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
> index aff23d0..6c7eb7f 100644
> --- a/drivers/net/cxgbe/cxgbe_main.c
> +++ b/drivers/net/cxgbe/cxgbe_main.c
> @@ -1166,6 +1166,9 @@ allocate_mac:
>  		pi->eth_dev->dev_ops = adapter->eth_dev->dev_ops;
>  		pi->eth_dev->tx_pkt_burst = adapter->eth_dev->tx_pkt_burst;
>  		pi->eth_dev->rx_pkt_burst = adapter->eth_dev->rx_pkt_burst;
> +
> +		rte_eth_copy_pci_info(pi->eth_dev, pi->eth_dev->pci_dev);
> +
>  		TAILQ_INIT(&pi->eth_dev->link_intr_cbs);
>  
>  		pi->eth_dev->data->mac_addrs = rte_zmalloc(name,
> -- 
> 2.5.3
>
  

Patch

diff --git a/drivers/net/cxgbe/cxgbe_ethdev.c b/drivers/net/cxgbe/cxgbe_ethdev.c
index 97ef152..fd0eb1c 100644
--- a/drivers/net/cxgbe/cxgbe_ethdev.c
+++ b/drivers/net/cxgbe/cxgbe_ethdev.c
@@ -819,8 +819,6 @@  static int eth_cxgbe_dev_init(struct rte_eth_dev *eth_dev)
 
 	pci_dev = eth_dev->pci_dev;
 
-	rte_eth_copy_pci_info(eth_dev, pci_dev);
-
 	snprintf(name, sizeof(name), "cxgbeadapter%d", eth_dev->data->port_id);
 	adapter = rte_zmalloc(name, sizeof(*adapter), 0);
 	if (!adapter)
diff --git a/drivers/net/cxgbe/cxgbe_main.c b/drivers/net/cxgbe/cxgbe_main.c
index aff23d0..6c7eb7f 100644
--- a/drivers/net/cxgbe/cxgbe_main.c
+++ b/drivers/net/cxgbe/cxgbe_main.c
@@ -1166,6 +1166,9 @@  allocate_mac:
 		pi->eth_dev->dev_ops = adapter->eth_dev->dev_ops;
 		pi->eth_dev->tx_pkt_burst = adapter->eth_dev->tx_pkt_burst;
 		pi->eth_dev->rx_pkt_burst = adapter->eth_dev->rx_pkt_burst;
+
+		rte_eth_copy_pci_info(pi->eth_dev, pi->eth_dev->pci_dev);
+
 		TAILQ_INIT(&pi->eth_dev->link_intr_cbs);
 
 		pi->eth_dev->data->mac_addrs = rte_zmalloc(name,