net/bonding: fix Rx queue data destroyed by Tx queue release

Message ID 20211015095548.1614980-1-xuemingl@nvidia.com (mailing list archive)
State Accepted, archived
Delegated to: Ferruh Yigit
Headers
Series net/bonding: fix Rx queue data destroyed by Tx queue release |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Functional fail Functional Testing issues
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS

Commit Message

Xueming Li Oct. 15, 2021, 9:55 a.m. UTC
  When release Tx queue, Rx queue data got freed because wrong Tx queue
data located.

This patch fixes the wrong Tx queue data location.

Fixes: 7483341ae553 ("ethdev: change queue release callback")
Signed-off-by: Xueming Li <xuemingl@nvidia.com>
---
 drivers/net/bonding/rte_eth_bond_pmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Ferruh Yigit Oct. 15, 2021, 10:46 a.m. UTC | #1
On 10/15/2021 10:55 AM, Xueming Li wrote:
> When release Tx queue, Rx queue data got freed because wrong Tx queue
> data located.
> 
> This patch fixes the wrong Tx queue data location.
> 
> Fixes: 7483341ae553 ("ethdev: change queue release callback")
> Signed-off-by: Xueming Li <xuemingl@nvidia.com>

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

Applied to dpdk-next-net/main, thanks.
  

Patch

diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 542c6633b53..471daad5003 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2345,7 +2345,7 @@  bond_ethdev_rx_queue_release(struct rte_eth_dev *dev, uint16_t queue_id)
 static void
 bond_ethdev_tx_queue_release(struct rte_eth_dev *dev, uint16_t queue_id)
 {
-	void *queue = dev->data->rx_queues[queue_id];
+	void *queue = dev->data->tx_queues[queue_id];
 
 	if (queue == NULL)
 		return;