tar xf ${IGBSRC}
[ ! -e /lib/modules/${KVNAME}/build ] || (echo "please remove /lib/modules/${KVNAME}/build" && false)
cd ${IGBDIR}; patch -p1 < ../patches/intel/igb/igb_4.10_max-mtu.patch
+ cd ${IGBDIR}; patch -p1 < ../patches/intel/igb/igb_4.12_compat.patch
cd ${IGBDIR}/src; make BUILD_KERNEL=${KVNAME} KSRC=${TOP}/${KERNEL_SRC}
cp ${IGBDIR}/src/igb.ko igb.ko
--- /dev/null
+diff --git a/src/igb_main.c.orig b/src/igb_main.c
+index 3ee1ec7..c8adf04 100644
+--- a/src/igb_main.c.orig
++++ b/src/igb_main.c
+@@ -1047,8 +1047,10 @@ static void igb_set_interrupt_capability(struct igb_adapter *adapter, bool msix)
+ for (i = 0; i < numvecs; i++)
+ adapter->msix_entries[i].entry = i;
+
+- err = pci_enable_msix(pdev,
+- adapter->msix_entries, numvecs);
++ err = pci_enable_msix_range(pdev,
++ adapter->msix_entries,
++ numvecs,
++ numvecs);
+ if (err == 0)
+ break;
+ }