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: markus.th...@tu-ilmenau.de

[1]
http://dpdk.org/dev/patchwork/patch/28144/

Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>

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.

Reply via email to