[dpdk-dev] librte: fix igb_uio's access to pci_dev->msi_list for kernels >= 4.3

Message ID 1446042290-13608-1-git-send-email-david.hunt@intel.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Hunt, David Oct. 28, 2015, 2:24 p.m. UTC
  Fix to take this change into account: https://lkml.org/lkml/2015/7/9/101
Has been applied to Kernel 4.3.0-rc6

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 lib/librte_eal/linuxapp/igb_uio/igb_uio.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
  

Comments

De Lara Guarch, Pablo Oct. 30, 2015, 10:57 a.m. UTC | #1
Hi Dave,

> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Hunt
> Sent: Wednesday, October 28, 2015 2:25 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH] librte: fix igb_uio's access to pci_dev->msi_list
> for kernels >= 4.3
> 
> Fix to take this change into account: https://lkml.org/lkml/2015/7/9/101
> Has been applied to Kernel 4.3.0-rc6
> 
> Signed-off-by: David Hunt <david.hunt@intel.com>
> ---

Fix works, but could you modify the commit title? igb_uio: fix....
Also, in the past we have included the commit id on the Linux repository,
which is:

Linux: 4a7cc831 ("genirq/MSI: Move msi_list from struct pci_dev to struct device")
  

Patch

diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
index 865a276..3bda5d2 100644
--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c
@@ -254,8 +254,13 @@  igbuio_pci_irqcontrol(struct uio_info *info, s32 irq_state)
 	else if (udev->mode == RTE_INTR_MODE_MSIX) {
 		struct msi_desc *desc;
 
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 3, 0))
 		list_for_each_entry(desc, &pdev->msi_list, list)
 			igbuio_msix_mask_irq(desc, irq_state);
+#else
+		list_for_each_entry(desc, &pdev->dev.msi_list, list)
+			igbuio_msix_mask_irq(desc, irq_state);
+#endif
 	}
 	pci_cfg_access_unlock(pdev);