patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' has been queued to LTS release 18.11.1
@ 2019-03-21 12:28 Kevin Traynor
  2019-03-21 12:29 ` [dpdk-stable] patch 'net/bonding: fix reset active slave' " Kevin Traynor
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Kevin Traynor @ 2019-03-21 12:28 UTC (permalink / raw)
  To: Yongseok Koh; +Cc: Shahaf Shuler, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/22/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.

Kevin Traynor

---
From 40454190463981cc1c382a6470cd64970a4025c3 Mon Sep 17 00:00:00 2001
From: Yongseok Koh <yskoh@mellanox.com>
Date: Thu, 7 Mar 2019 18:07:55 -0800
Subject: [PATCH] net/mlx5: fix instruction hotspot on replenishing Rx buffer

[ backported from upstream commit 12d468a62bc19ca08ee9964dcb923f67f87fba7d ]

On replenishing Rx buffers for vectorized Rx, mbuf->buf_addr isn't needed
to be accessed as it is static and easily calculated from the mbuf address.
Accessing the mbuf content causes unnecessary load stall and it is worsened
on ARM.

Fixes: 545b884b1da3 ("net/mlx5: fix buffer address posting in SSE Rx")

Signed-off-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx_vec.h | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxtx_vec.h b/drivers/net/mlx5/mlx5_rxtx_vec.h
index fda7004e2..da447a63e 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec.h
@@ -103,6 +103,10 @@ mlx5_rx_replenish_bulk_mbuf(struct mlx5_rxq_data *rxq, uint16_t n)
 	}
 	for (i = 0; i < n; ++i) {
-		wq[i].addr = rte_cpu_to_be_64((uintptr_t)elts[i]->buf_addr +
-					      RTE_PKTMBUF_HEADROOM);
+		uintptr_t buf_addr =
+			(uintptr_t)elts[i] + sizeof(struct rte_mbuf) +
+			rte_pktmbuf_priv_size(rxq->mp);
+
+		assert(buf_addr == (uintptr_t)elts[i]->buf_addr);
+		wq[i].addr = rte_cpu_to_be_64(buf_addr + RTE_PKTMBUF_HEADROOM);
 		/* If there's only one MR, no need to replace LKey in WQE. */
 		if (unlikely(mlx5_mr_btree_len(&rxq->mr_ctrl.cache_bh) > 1))
-- 
2.20.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-stable] patch 'net/bonding: fix reset active slave' has been queued to LTS release 18.11.1
  2019-03-21 12:28 [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' has been queued to LTS release 18.11.1 Kevin Traynor
@ 2019-03-21 12:29 ` Kevin Traynor
  2019-03-21 12:29 ` [dpdk-stable] patch 'vhost: fix deadlock in driver unregister' " Kevin Traynor
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Kevin Traynor @ 2019-03-21 12:29 UTC (permalink / raw)
  To: Hari Kumar Vemula; +Cc: Radu Nicolau, Chas Williams, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/22/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.

Kevin Traynor

---
From 097b88b0ee059af79061ac50d6397bccf82b2f14 Mon Sep 17 00:00:00 2001
From: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
Date: Mon, 18 Feb 2019 11:59:23 +0000
Subject: [PATCH] net/bonding: fix reset active slave

[ upstream commit 7f949ae391527200266afa59097317ef0047111e ]

test_alb_reply_from_client test fails due to incorrect active slave
array's index. This was due to invalid active slave count.

Count of internals->active_slave is not updated even when active slave
is deactivated.
Hence active slave count always keeps incrementing beyond the actual
active slaves.

Fix is to set the internals->active_slave to starting index 0 whenever
it exceeds the number of slaves in active slave list and also update
the active slave count during slave de-activation.

Fixes: e1110e977648 ("net/bonding: fix Rx slave fairness")

Signed-off-by: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Chas Williams <chas3@att.com>
---
 drivers/net/bonding/rte_eth_bond_api.c | 6 ++++++
 drivers/net/bonding/rte_eth_bond_pmd.c | 6 +++---
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
index e5e146540..ac084c4fd 100644
--- a/drivers/net/bonding/rte_eth_bond_api.c
+++ b/drivers/net/bonding/rte_eth_bond_api.c
@@ -130,4 +130,10 @@ deactivate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id)
 	internals->active_slave_count = active_count;
 
+	/* Resetting active_slave when reaches to max
+	 * no of slaves in active list
+	 */
+	if (internals->active_slave >= active_count)
+		internals->active_slave = 0;
+
 	if (eth_dev->data->dev_started) {
 		if (internals->mode == BONDING_MODE_8023AD) {
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 44deaf119..7ed69b388 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -85,5 +85,5 @@ bond_ethdev_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 	}
 
-	if (++internals->active_slave == slave_count)
+	if (++internals->active_slave >= slave_count)
 		internals->active_slave = 0;
 	return num_rx_total;
@@ -289,5 +289,5 @@ bond_ethdev_rx_burst_8023ad_fast_queue(void *queue, struct rte_mbuf **bufs,
 	}
 
-	if (++internals->active_slave == slave_count)
+	if (++internals->active_slave >= slave_count)
 		internals->active_slave = 0;
 
@@ -475,5 +475,5 @@ bond_ethdev_rx_burst_8023ad(void *queue, struct rte_mbuf **bufs,
 	}
 
-	if (++internals->active_slave == slave_count)
+	if (++internals->active_slave >= slave_count)
 		internals->active_slave = 0;
 
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-03-21 11:21:26.394964369 +0000
+++ 0002-net-bonding-fix-reset-active-slave.patch	2019-03-21 11:21:26.289140996 +0000
@@ -1,8 +1,10 @@
-From 7f949ae391527200266afa59097317ef0047111e Mon Sep 17 00:00:00 2001
+From 097b88b0ee059af79061ac50d6397bccf82b2f14 Mon Sep 17 00:00:00 2001
 From: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
 Date: Mon, 18 Feb 2019 11:59:23 +0000
 Subject: [PATCH] net/bonding: fix reset active slave
 
+[ upstream commit 7f949ae391527200266afa59097317ef0047111e ]
+
 test_alb_reply_from_client test fails due to incorrect active slave
 array's index. This was due to invalid active slave count.
 
@@ -16,7 +18,6 @@
 the active slave count during slave de-activation.
 
 Fixes: e1110e977648 ("net/bonding: fix Rx slave fairness")
-Cc: stable@dpdk.org
 
 Signed-off-by: Hari Kumar Vemula <hari.kumarx.vemula@intel.com>
 Acked-by: Radu Nicolau <radu.nicolau@intel.com>
@@ -27,7 +28,7 @@
  2 files changed, 9 insertions(+), 3 deletions(-)
 
 diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c
-index 57ef2f001..b55752ed3 100644
+index e5e146540..ac084c4fd 100644
 --- a/drivers/net/bonding/rte_eth_bond_api.c
 +++ b/drivers/net/bonding/rte_eth_bond_api.c
 @@ -130,4 +130,10 @@ deactivate_slave(struct rte_eth_dev *eth_dev, uint16_t port_id)
@@ -42,7 +43,7 @@
  	if (eth_dev->data->dev_started) {
  		if (internals->mode == BONDING_MODE_8023AD) {
 diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
-index f65db4410..b0d191d13 100644
+index 44deaf119..7ed69b388 100644
 --- a/drivers/net/bonding/rte_eth_bond_pmd.c
 +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
 @@ -85,5 +85,5 @@ bond_ethdev_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-stable] patch 'vhost: fix deadlock in driver unregister' has been queued to LTS release 18.11.1
  2019-03-21 12:28 [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' has been queued to LTS release 18.11.1 Kevin Traynor
  2019-03-21 12:29 ` [dpdk-stable] patch 'net/bonding: fix reset active slave' " Kevin Traynor
@ 2019-03-21 12:29 ` Kevin Traynor
  2019-03-21 12:29 ` [dpdk-stable] patch 'net/bnx2x: fix segfaults due to stale interrupt status' " Kevin Traynor
  2019-03-21 12:29 ` [dpdk-stable] patch 'net/ixgbe: fix crash on remove' " Kevin Traynor
  3 siblings, 0 replies; 5+ messages in thread
From: Kevin Traynor @ 2019-03-21 12:29 UTC (permalink / raw)
  To: Wenjie Sun; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/22/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.

Kevin Traynor

---
From 1068627314e508eb2e1576e3bb0ecc1d4d85d496 Mon Sep 17 00:00:00 2001
From: Wenjie Sun <findtheonlyway@gmail.com>
Date: Mon, 28 Jan 2019 14:55:49 +0800
Subject: [PATCH] vhost: fix deadlock in driver unregister

[ upstream commit 054617fd82b6d99595520e75fdab6706f39d5643 ]

In rte_vhost_driver_unregister(), the connection fd is
removed from the fdset using fdset_try_del(). Call to
this function may fail if the corresponding fd is in
busy state, indicating that event dispatcher is
executing the read or write callback on this fd.
When it happens, rte_vhost_driver_unregister() keeps
trying to remove the fd from the set until it is no
more busy.

This situation is causing a deadlock, because
rte_vhost_driver_unregister() keeps trying to remove
the fd from the set with vhost_user.mutex held, while
the callback executed by the dispatcher,
vhost_user_read_cb(), also takes this mutex at
numerous places.

The fix consists in releasing vhost_user.mutex between
each retry in vhost_driver_unregister().

Fixes: 8b4b949144b8 ("vhost: fix dead lock on closing in server mode")

Signed-off-by: Wenjie Sun <findtheonlyway@gmail.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/librte_vhost/socket.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/lib/librte_vhost/socket.c b/lib/librte_vhost/socket.c
index 9cf34ad17..9883b0491 100644
--- a/lib/librte_vhost/socket.c
+++ b/lib/librte_vhost/socket.c
@@ -962,11 +962,11 @@ rte_vhost_driver_unregister(const char *path)
 	struct vhost_user_connection *conn, *next;
 
-	pthread_mutex_lock(&vhost_user.mutex);
-
-	for (i = 0; i < vhost_user.vsocket_cnt; i++) {
-		struct vhost_user_socket *vsocket = vhost_user.vsockets[i];
-
-		if (!strcmp(vsocket->path, path)) {
 again:
+	pthread_mutex_lock(&vhost_user.mutex);
+
+	for (i = 0; i < vhost_user.vsocket_cnt; i++) {
+		struct vhost_user_socket *vsocket = vhost_user.vsockets[i];
+
+		if (!strcmp(vsocket->path, path)) {
 			pthread_mutex_lock(&vsocket->conn_mutex);
 			for (conn = TAILQ_FIRST(&vsocket->conn_list);
@@ -984,4 +984,5 @@ again:
 					pthread_mutex_unlock(
 							&vsocket->conn_mutex);
+					pthread_mutex_unlock(&vhost_user.mutex);
 					goto again;
 				}
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-03-21 11:21:26.441844591 +0000
+++ 0003-vhost-fix-deadlock-in-driver-unregister.patch	2019-03-21 11:21:26.290140974 +0000
@@ -1,8 +1,10 @@
-From 054617fd82b6d99595520e75fdab6706f39d5643 Mon Sep 17 00:00:00 2001
+From 1068627314e508eb2e1576e3bb0ecc1d4d85d496 Mon Sep 17 00:00:00 2001
 From: Wenjie Sun <findtheonlyway@gmail.com>
 Date: Mon, 28 Jan 2019 14:55:49 +0800
 Subject: [PATCH] vhost: fix deadlock in driver unregister
 
+[ upstream commit 054617fd82b6d99595520e75fdab6706f39d5643 ]
+
 In rte_vhost_driver_unregister(), the connection fd is
 removed from the fdset using fdset_try_del(). Call to
 this function may fail if the corresponding fd is in
@@ -23,7 +25,6 @@
 each retry in vhost_driver_unregister().
 
 Fixes: 8b4b949144b8 ("vhost: fix dead lock on closing in server mode")
-Cc: stable@dpdk.org
 
 Signed-off-by: Wenjie Sun <findtheonlyway@gmail.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-stable] patch 'net/bnx2x: fix segfaults due to stale interrupt status' has been queued to LTS release 18.11.1
  2019-03-21 12:28 [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' has been queued to LTS release 18.11.1 Kevin Traynor
  2019-03-21 12:29 ` [dpdk-stable] patch 'net/bonding: fix reset active slave' " Kevin Traynor
  2019-03-21 12:29 ` [dpdk-stable] patch 'vhost: fix deadlock in driver unregister' " Kevin Traynor
@ 2019-03-21 12:29 ` Kevin Traynor
  2019-03-21 12:29 ` [dpdk-stable] patch 'net/ixgbe: fix crash on remove' " Kevin Traynor
  3 siblings, 0 replies; 5+ messages in thread
From: Kevin Traynor @ 2019-03-21 12:29 UTC (permalink / raw)
  To: Shahed Shaikh; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/22/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.

Kevin Traynor

---
From a501c1da5819c8d5a8c164141cf301ca96312adf Mon Sep 17 00:00:00 2001
From: Shahed Shaikh <shshaikh@marvell.com>
Date: Thu, 21 Feb 2019 11:24:44 -0800
Subject: [PATCH] net/bnx2x: fix segfaults due to stale interrupt status

[ upstream commit 797ed9916ac73efc8f3d0b1a9a354d50948566c9 ]

Previous ungraceful exit may leave behind un-acked stale
interrupts for slowpath and fastpath.

Interrupt status polling function is started before FLR is
initiated, so we don't have a real way to protect this polling
function invoking an interrupt handler caused due to stale
interrupt status from previous ungraceful exit.

So, check uninitialized status block variables in interrupt
handling path which may lead to segfault.

Fixes: 540a211084a7 ("bnx2x: driver core")

Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
---
 drivers/net/bnx2x/bnx2x.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 4c775c163..26b3828e8 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -4202,4 +4202,7 @@ static uint16_t bnx2x_update_dsb_idx(struct bnx2x_softc *sc)
 	uint16_t rc = 0;
 
+	if (!def_sb)
+		return 0;
+
 	mb();			/* status block is written to by the chip */
 
@@ -4526,4 +4529,8 @@ static void bnx2x_handle_fp_tq(struct bnx2x_fastpath *fp, int scan_fp)
 	uint8_t more_rx = FALSE;
 
+	/* Make sure FP is initialized */
+	if (!fp->sb_running_index)
+		return;
+
 	PMD_DEBUG_PERIODIC_LOG(DEBUG, sc,
 			       "---> FP TASK QUEUE (%d) <--", fp->index);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-03-21 11:21:26.491739104 +0000
+++ 0004-net-bnx2x-fix-segfaults-due-to-stale-interrupt-statu.patch	2019-03-21 11:21:26.301140731 +0000
@@ -1,8 +1,10 @@
-From 797ed9916ac73efc8f3d0b1a9a354d50948566c9 Mon Sep 17 00:00:00 2001
+From a501c1da5819c8d5a8c164141cf301ca96312adf Mon Sep 17 00:00:00 2001
 From: Shahed Shaikh <shshaikh@marvell.com>
 Date: Thu, 21 Feb 2019 11:24:44 -0800
 Subject: [PATCH] net/bnx2x: fix segfaults due to stale interrupt status
 
+[ upstream commit 797ed9916ac73efc8f3d0b1a9a354d50948566c9 ]
+
 Previous ungraceful exit may leave behind un-acked stale
 interrupts for slowpath and fastpath.
 
@@ -15,7 +17,6 @@
 handling path which may lead to segfault.
 
 Fixes: 540a211084a7 ("bnx2x: driver core")
-Cc: stable@dpdk.org
 
 Signed-off-by: Shahed Shaikh <shshaikh@marvell.com>
 ---

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [dpdk-stable] patch 'net/ixgbe: fix crash on remove' has been queued to LTS release 18.11.1
  2019-03-21 12:28 [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' has been queued to LTS release 18.11.1 Kevin Traynor
                   ` (2 preceding siblings ...)
  2019-03-21 12:29 ` [dpdk-stable] patch 'net/bnx2x: fix segfaults due to stale interrupt status' " Kevin Traynor
@ 2019-03-21 12:29 ` Kevin Traynor
  3 siblings, 0 replies; 5+ messages in thread
From: Kevin Traynor @ 2019-03-21 12:29 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to LTS release 18.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/22/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.

Kevin Traynor

---
From 13db2fb5fbc46651c77c64732ade4f0a45055d7f Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Wed, 13 Feb 2019 10:48:52 +0800
Subject: [PATCH] net/ixgbe: fix crash on remove

[ upstream commit ce66e351404f167db9bf47d6a70bd83e101126c9 ]

The NIC's interrupt source has some active handler when the
port removed. We should cancel the delay handler before removing
dev to prevent executing the delay handler.

Call Trace:
  #0  ixgbe_disable_intr (hw=0x0, hw=0x0)
      at /usr/src/debug/dpdk-18.11/drivers/net/ixgbe/ixgbe_ethdev.c:852
  #1  ixgbe_dev_interrupt_delayed_handler (param=0xadb9c0
      <rte_eth_devices@@DPDK_2.2+33024>)
      at /usr/src/debug/dpdk-18.11/drivers/net/ixgbe/ixgbe_ethdev.c:4386
  #2  0x00007f05782147af in eal_alarm_callback (arg=<optimized out>)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_alarm.c:90
  #3  0x00007f057821320a in eal_intr_process_interrupts (nfds=1,
      events=0x7f056cbf3e88) at /usr/src/debug/dpdk-18.11/lib/
      librte_eal/linuxapp/eal/eal_interrupts.c:838
  #4  eal_intr_handle_interrupts (totalfds=<optimized out>, pfd=18)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_interrupts.c:885
  #5  eal_intr_thread_main (arg=<optimized out>)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_interrupts.c:965
  #6  0x00007f05708a0e45 in start_thread () from /usr/lib64/libpthread.so.0
  #7  0x00007f056eb4ab5d in clone () from /usr/lib64/libc.so.6

Fixes: 2866c5f1b87e ("ixgbe: support port hotplug")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 749311048..e9533e5a1 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1337,4 +1337,7 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
 	} while (retries++ < (10 + IXGBE_LINK_UP_TIME));
 
+	/* cancel the delay handler before remove dev */
+	rte_eal_alarm_cancel(ixgbe_dev_interrupt_delayed_handler, eth_dev);
+
 	/* uninitialize PF if max_vfs not zero */
 	ixgbe_pf_host_uninit(eth_dev);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-03-21 11:21:26.548799682 +0000
+++ 0005-net-ixgbe-fix-crash-on-remove.patch	2019-03-21 11:21:26.310140533 +0000
@@ -1,8 +1,10 @@
-From ce66e351404f167db9bf47d6a70bd83e101126c9 Mon Sep 17 00:00:00 2001
+From 13db2fb5fbc46651c77c64732ade4f0a45055d7f Mon Sep 17 00:00:00 2001
 From: Yunjian Wang <wangyunjian@huawei.com>
 Date: Wed, 13 Feb 2019 10:48:52 +0800
 Subject: [PATCH] net/ixgbe: fix crash on remove
 
+[ upstream commit ce66e351404f167db9bf47d6a70bd83e101126c9 ]
+
 The NIC's interrupt source has some active handler when the
 port removed. We should cancel the delay handler before removing
 dev to prevent executing the delay handler.
@@ -29,7 +31,6 @@
   #7  0x00007f056eb4ab5d in clone () from /usr/lib64/libc.so.6
 
 Fixes: 2866c5f1b87e ("ixgbe: support port hotplug")
-Cc: stable@dpdk.org
 
 Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
 Acked-by: Qi Zhang <qi.z.zhang@intel.com>
@@ -38,7 +39,7 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
-index 4deedb0c8..c336937c2 100644
+index 749311048..e9533e5a1 100644
 --- a/drivers/net/ixgbe/ixgbe_ethdev.c
 +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
 @@ -1337,4 +1337,7 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-03-21 12:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-21 12:28 [dpdk-stable] patch 'net/mlx5: fix instruction hotspot on replenishing Rx buffer' has been queued to LTS release 18.11.1 Kevin Traynor
2019-03-21 12:29 ` [dpdk-stable] patch 'net/bonding: fix reset active slave' " Kevin Traynor
2019-03-21 12:29 ` [dpdk-stable] patch 'vhost: fix deadlock in driver unregister' " Kevin Traynor
2019-03-21 12:29 ` [dpdk-stable] patch 'net/bnx2x: fix segfaults due to stale interrupt status' " Kevin Traynor
2019-03-21 12:29 ` [dpdk-stable] patch 'net/ixgbe: fix crash on remove' " Kevin Traynor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).