[dpdk-stable] patch 'net/qede: fix setting MTU' has been queued to LTS release 17.11.10

luca.boccassi at gmail.com luca.boccassi at gmail.com
Thu Dec 19 15:34:17 CET 2019


Hi,

FYI, your patch has been queued to LTS release 17.11.10

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 12/21/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Luca Boccassi

---
>From 5ddd68d7fbd2b6956f9d14b7652b69a7649faa07 Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shshaikh at marvell.com>
Date: Sat, 19 Oct 2019 22:20:50 -0700
Subject: [PATCH] net/qede: fix setting MTU

[ upstream commit 29bb154ff047d7fd7b0d4f08ce3ca25f1abfd1fe ]

New MTU value is not propagated to vport in HW when MTU update request
is sent while ports are stopped.

This patch fixes the logic error for above mentioned condition.

Fixes: d121a6b5f781 ("net/qede: fix VF MTU update")

Signed-off-by: Shahed Shaikh <shshaikh at marvell.com>
Reviewed-by: Rasesh Mody <rmody at marvell.com>
---
 drivers/net/qede/qede_ethdev.c | 8 +++++---
 drivers/net/qede/qede_ethdev.h | 1 +
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
index 43403e6a8d..d5851a6513 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1178,9 +1178,11 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev)
 	PMD_INIT_FUNC_TRACE(edev);
 
 	/* Update MTU only if it has changed */
-	if (eth_dev->data->mtu != qdev->mtu) {
-		if (qede_update_mtu(eth_dev, qdev->mtu))
+	if (qdev->new_mtu && qdev->new_mtu != qdev->mtu) {
+		if (qede_update_mtu(eth_dev, qdev->new_mtu))
 			goto err;
+		qdev->mtu = qdev->new_mtu;
+		qdev->new_mtu = 0;
 	}
 
 	/* Configure TPA parameters */
@@ -2408,7 +2410,7 @@ static int qede_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
 		restart = true;
 	}
 	rte_delay_ms(1000);
-	qdev->mtu = mtu;
+	qdev->new_mtu = mtu;
 
 	/* Fix up RX buf size for all queues of the port */
 	for_each_rss(i) {
diff --git a/drivers/net/qede/qede_ethdev.h b/drivers/net/qede/qede_ethdev.h
index cc1a409f63..39d582296d 100644
--- a/drivers/net/qede/qede_ethdev.h
+++ b/drivers/net/qede/qede_ethdev.h
@@ -185,6 +185,7 @@ struct qede_dev {
 	struct ecore_sb_info *sb_array;
 	struct qede_fastpath *fp_array;
 	uint16_t mtu;
+	uint16_t new_mtu;
 	bool enable_tx_switching;
 	bool rss_enable;
 	struct rte_eth_rss_conf rss_conf;
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-12-19 14:32:30.694790877 +0000
+++ 0110-net-qede-fix-setting-MTU.patch	2019-12-19 14:32:26.261300919 +0000
@@ -1,15 +1,16 @@
-From 29bb154ff047d7fd7b0d4f08ce3ca25f1abfd1fe Mon Sep 17 00:00:00 2001
+From 5ddd68d7fbd2b6956f9d14b7652b69a7649faa07 Mon Sep 17 00:00:00 2001
 From: Shahed Shaikh <shshaikh at marvell.com>
 Date: Sat, 19 Oct 2019 22:20:50 -0700
 Subject: [PATCH] net/qede: fix setting MTU
 
+[ upstream commit 29bb154ff047d7fd7b0d4f08ce3ca25f1abfd1fe ]
+
 New MTU value is not propagated to vport in HW when MTU update request
 is sent while ports are stopped.
 
 This patch fixes the logic error for above mentioned condition.
 
 Fixes: d121a6b5f781 ("net/qede: fix VF MTU update")
-Cc: stable at dpdk.org
 
 Signed-off-by: Shahed Shaikh <shshaikh at marvell.com>
 Reviewed-by: Rasesh Mody <rmody at marvell.com>
@@ -19,10 +20,10 @@
  2 files changed, 6 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c
-index 53fdfde9a8..42e2b50831 100644
+index 43403e6a8d..d5851a6513 100644
 --- a/drivers/net/qede/qede_ethdev.c
 +++ b/drivers/net/qede/qede_ethdev.c
-@@ -1038,9 +1038,11 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev)
+@@ -1178,9 +1178,11 @@ static int qede_dev_start(struct rte_eth_dev *eth_dev)
  	PMD_INIT_FUNC_TRACE(edev);
  
  	/* Update MTU only if it has changed */
@@ -36,7 +37,7 @@
  	}
  
  	/* Configure TPA parameters */
-@@ -2248,7 +2250,7 @@ static int qede_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
+@@ -2408,7 +2410,7 @@ static int qede_set_mtu(struct rte_eth_dev *dev, uint16_t mtu)
  		restart = true;
  	}
  	rte_delay_ms(1000);
@@ -44,14 +45,14 @@
 +	qdev->new_mtu = mtu;
  
  	/* Fix up RX buf size for all queues of the port */
- 	for (i = 0; i < qdev->num_rx_queues; i++) {
+ 	for_each_rss(i) {
 diff --git a/drivers/net/qede/qede_ethdev.h b/drivers/net/qede/qede_ethdev.h
-index 21115a077e..b988a73f23 100644
+index cc1a409f63..39d582296d 100644
 --- a/drivers/net/qede/qede_ethdev.h
 +++ b/drivers/net/qede/qede_ethdev.h
-@@ -225,6 +225,7 @@ struct qede_dev {
+@@ -185,6 +185,7 @@ struct qede_dev {
+ 	struct ecore_sb_info *sb_array;
  	struct qede_fastpath *fp_array;
- 	struct qede_fastpath_cmt *fp_array_cmt;
  	uint16_t mtu;
 +	uint16_t new_mtu;
  	bool enable_tx_switching;


More information about the stable mailing list