Sync DPDK upstream patch about bugfix
Sync a patch from upstream about bugfix, modifies are as follow: - bus/pci: fix UIO resource mapping in secondary process (cherry picked from commit 69981042e0fb15cdbf505c51dfb466cde96f87e7)
This commit is contained in:
parent
e03766491c
commit
0c314da339
@ -0,0 +1,77 @@
|
||||
From d322cdf1a702fe56219c059dae9e360b1a3f0f8b Mon Sep 17 00:00:00 2001
|
||||
From: Zerun Fu <zerun.fu@corigine.com>
|
||||
Date: Tue, 2 Jul 2024 15:40:06 +0800
|
||||
Subject: [PATCH 484/485] bus/pci: fix UIO resource mapping in secondary
|
||||
process
|
||||
|
||||
[ upstream commit 9e0a0e38ecaa7efaca9d349737d0a5ef9ca33a57 ]
|
||||
|
||||
For the primary process, the logic loops all BARs and will skip
|
||||
the map of BAR with an invalid physical address (0), also will
|
||||
assign 'uio_res->nb_maps' with the real mapped BARs number. But
|
||||
for the secondary process, instead of loops all BARs, the logic
|
||||
using the 'uio_res->nb_map' as index. If the device uses continuous
|
||||
BARs there will be no problem, whereas if it uses discrete BARs,
|
||||
it will lead to mapping errors.
|
||||
|
||||
Fix this problem by also loops all BARs and skip the map of BAR
|
||||
with an invalid physical address in secondary process.
|
||||
|
||||
Fixes: 9b957f378abf ("pci: merge uio functions for linux and bsd")
|
||||
Cc: stable@dpdk.org
|
||||
|
||||
Signed-off-by: Zerun Fu <zerun.fu@corigine.com>
|
||||
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
|
||||
Reviewed-by: Long Wu <long.wu@corigine.com>
|
||||
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>
|
||||
Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
|
||||
Reviewed-by: Chenbo Xia <chenbox@nvidia.com>
|
||||
Signed-off-by: chenyi <chenyi211@huawei.com>
|
||||
---
|
||||
drivers/bus/pci/pci_common_uio.c | 16 +++++++++++++---
|
||||
1 file changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/bus/pci/pci_common_uio.c b/drivers/bus/pci/pci_common_uio.c
|
||||
index 76c661f054..f44ccdf27c 100644
|
||||
--- a/drivers/bus/pci/pci_common_uio.c
|
||||
+++ b/drivers/bus/pci/pci_common_uio.c
|
||||
@@ -26,7 +26,7 @@ EAL_REGISTER_TAILQ(rte_uio_tailq)
|
||||
static int
|
||||
pci_uio_map_secondary(struct rte_pci_device *dev)
|
||||
{
|
||||
- int fd, i, j;
|
||||
+ int fd, i = 0, j, res_idx;
|
||||
struct mapped_pci_resource *uio_res;
|
||||
struct mapped_pci_res_list *uio_res_list =
|
||||
RTE_TAILQ_CAST(rte_uio_tailq.head, mapped_pci_res_list);
|
||||
@@ -37,7 +37,15 @@ pci_uio_map_secondary(struct rte_pci_device *dev)
|
||||
if (rte_pci_addr_cmp(&uio_res->pci_addr, &dev->addr))
|
||||
continue;
|
||||
|
||||
- for (i = 0; i != uio_res->nb_maps; i++) {
|
||||
+ /* Map all BARs */
|
||||
+ for (res_idx = 0; res_idx != PCI_MAX_RESOURCE; res_idx++) {
|
||||
+ /* skip empty BAR */
|
||||
+ if (dev->mem_resource[res_idx].phys_addr == 0)
|
||||
+ continue;
|
||||
+
|
||||
+ if (i >= uio_res->nb_maps)
|
||||
+ return -1;
|
||||
+
|
||||
/*
|
||||
* open devname, to mmap it
|
||||
*/
|
||||
@@ -71,7 +79,9 @@ pci_uio_map_secondary(struct rte_pci_device *dev)
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
- dev->mem_resource[i].addr = mapaddr;
|
||||
+ dev->mem_resource[res_idx].addr = mapaddr;
|
||||
+
|
||||
+ i++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Name: dpdk
|
||||
Version: 21.11
|
||||
Release: 77
|
||||
Release: 78
|
||||
Packager: packaging@6wind.com
|
||||
URL: http://dpdk.org
|
||||
%global source_version 21.11
|
||||
@ -519,6 +519,8 @@ Patch9482: 0482-af_xdp-del-XDP_USE_SG-and-XDP_PKT_CONTD-definition.patch
|
||||
|
||||
Patch9483: 0483-af_xdp-fix-mbuf-ol_flags-not-init.patch
|
||||
|
||||
Patch9484: 0484-bus-pci-fix-UIO-resource-mapping-in-secondary-proces.patch
|
||||
|
||||
Summary: Data Plane Development Kit core
|
||||
Group: System Environment/Libraries
|
||||
License: BSD and LGPLv2 and GPLv2
|
||||
@ -685,6 +687,10 @@ fi
|
||||
/usr/sbin/depmod
|
||||
|
||||
%changelog
|
||||
* Wed Oct 23 2024 chenyi <chenyi211@huawei.com> - 21.11-78
|
||||
Sync some patches from upstream about bugfix, modifies are as follow:
|
||||
- bus/pci: fix UIO resource mapping in secondary process
|
||||
|
||||
* Wed Oct 09 2024 jiangheng <jiangheng14@huawei.com> - 21.11-77
|
||||
af_xdp: fix mbuf ol_flags not init
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user