revert igb to 5.3.5.10
because 5.3.5.12 broke JUMBO_FRAMES (again)
This commit is contained in:
parent
6749ef5ad2
commit
6eb123031d
4
Makefile
4
Makefile
@ -38,7 +38,7 @@ KERNEL_CFG_ORG=config-${KERNEL_VER}.org
|
||||
E1000EDIR=e1000e-3.3.6
|
||||
E1000ESRC=${E1000EDIR}.tar.gz
|
||||
|
||||
IGBDIR=igb-5.3.5.12
|
||||
IGBDIR=igb-5.3.5.10
|
||||
IGBSRC=${IGBDIR}.tar.gz
|
||||
|
||||
IXGBEDIR=ixgbe-5.3.3
|
||||
@ -254,6 +254,8 @@ igb.ko igb: .compile_mark ${IGBSRC}
|
||||
rm -rf ${IGBDIR}
|
||||
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
|
||||
|
||||
|
BIN
igb-5.3.5.10.tar.gz
Normal file
BIN
igb-5.3.5.10.tar.gz
Normal file
Binary file not shown.
Binary file not shown.
47
patches/intel/igb/igb_4.10_max-mtu.patch
Normal file
47
patches/intel/igb/igb_4.10_max-mtu.patch
Normal file
@ -0,0 +1,47 @@
|
||||
diff --git a/src/e1000_defines.h b/src/e1000_defines.h
|
||||
index 6de3988..d58e12f 100644
|
||||
--- a/src/e1000_defines.h
|
||||
+++ b/src/e1000_defines.h
|
||||
@@ -423,7 +423,8 @@
|
||||
#define ETHERNET_IEEE_VLAN_TYPE 0x8100 /* 802.3ac packet */
|
||||
|
||||
#define ETHERNET_FCS_SIZE 4
|
||||
-#define MAX_JUMBO_FRAME_SIZE 0x3F00
|
||||
+#define MAX_JUMBO_FRAME_SIZE 0x2600
|
||||
+#define MAX_STD_JUMBO_FRAME_SIZE 9216
|
||||
/* The datasheet maximum supported RX size is 9.5KB (9728 bytes) */
|
||||
#define MAX_RX_JUMBO_FRAME_SIZE 0x2600
|
||||
#define E1000_TX_PTR_GAP 0x1F
|
||||
diff --git a/src/igb_main.c b/src/igb_main.c
|
||||
index 2dff0f4..bbfe87e 100644
|
||||
--- a/src/igb_main.c
|
||||
+++ b/src/igb_main.c
|
||||
@@ -2852,6 +2852,10 @@ static int igb_probe(struct pci_dev *pdev,
|
||||
if (pci_using_dac)
|
||||
netdev->features |= NETIF_F_HIGHDMA;
|
||||
|
||||
+ /* MTU range: 68 - 9216 */
|
||||
+ netdev->min_mtu = ETH_MIN_MTU;
|
||||
+ netdev->max_mtu = MAX_STD_JUMBO_FRAME_SIZE;
|
||||
+
|
||||
adapter->en_mng_pt = e1000_enable_mng_pass_thru(hw);
|
||||
#ifdef DEBUG
|
||||
if (adapter->dmac != IGB_DMAC_DISABLE)
|
||||
@@ -5832,17 +5836,6 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu)
|
||||
struct pci_dev *pdev = adapter->pdev;
|
||||
int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN;
|
||||
|
||||
- if ((new_mtu < 68) || (max_frame > MAX_JUMBO_FRAME_SIZE)) {
|
||||
- dev_err(pci_dev_to_dev(pdev), "Invalid MTU setting\n");
|
||||
- return -EINVAL;
|
||||
- }
|
||||
-
|
||||
-#define MAX_STD_JUMBO_FRAME_SIZE 9238
|
||||
- if (max_frame > MAX_STD_JUMBO_FRAME_SIZE) {
|
||||
- dev_err(pci_dev_to_dev(pdev), "MTU > 9216 not supported.\n");
|
||||
- return -EINVAL;
|
||||
- }
|
||||
-
|
||||
/* adjust max frame to be at least the size of a standard frame */
|
||||
if (max_frame < (ETH_FRAME_LEN + ETH_FCS_LEN))
|
||||
max_frame = ETH_FRAME_LEN + ETH_FCS_LEN;
|
17
patches/intel/igb/igb_4.12_compat.patch
Normal file
17
patches/intel/igb/igb_4.12_compat.patch
Normal file
@ -0,0 +1,17 @@
|
||||
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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user