On 10/12/2017 10:46 PM, Ferruh Yigit wrote:
This patch partially reverts the commit d196343a258e and adds some functions from Markus' previous version of the patch [1].igb_uio uses pci_msi_unmask_irq() and pci_msi_mask_irq() kernel APIs when kernel version is >= 3.19 because these APIs are implemented in this Linux kernel version. But these APIs only exported beginning from Linux kernel 4.5, so before this Linux kernel version igb_uio kernel module is not usable, and giving following warnings: "igb_uio: Unknown symbol pci_msi_unmask_irq" "igb_uio: Unknown symbol pci_msi_mask_irq" The support for these APIs increased to Linux kernel >= 4.5 For older version of Linux kernel unmask_msi_irq() and mask_msi_irq() are used but these functions are not exported at all. Instead of these functions switched back to previous implementation in igb_uio for MSI-X, and for MSI used igbuio_msi_mask_irq() from [1]. Fixes: d196343a258e ("igb_uio: use kernel functions for masking MSI-X") Cc: [email protected] [1] http://dpdk.org/dev/patchwork/patch/28144/ Signed-off-by: Ferruh Yigit <[email protected]>
I can confirm that with this patch applied I am able to build and load the igb_uio module on CentOS 7.4. I have not tested the actual MSI-X interrupt mask/unmask functionality.

