]> git.proxmox.com Git - pve-kernel.git/blame - patches/intel/igb/igb_4.10_max-mtu.patch
update out-of-tree intel ethernet drivers
[pve-kernel.git] / patches / intel / igb / igb_4.10_max-mtu.patch
CommitLineData
6eb12303
FG
1diff --git a/src/e1000_defines.h b/src/e1000_defines.h
2index 6de3988..d58e12f 100644
3--- a/src/e1000_defines.h
4+++ b/src/e1000_defines.h
5@@ -423,7 +423,8 @@
6 #define ETHERNET_IEEE_VLAN_TYPE 0x8100 /* 802.3ac packet */
7
8 #define ETHERNET_FCS_SIZE 4
9-#define MAX_JUMBO_FRAME_SIZE 0x3F00
10+#define MAX_JUMBO_FRAME_SIZE 0x2600
11+#define MAX_STD_JUMBO_FRAME_SIZE 9216
12 /* The datasheet maximum supported RX size is 9.5KB (9728 bytes) */
13 #define MAX_RX_JUMBO_FRAME_SIZE 0x2600
14 #define E1000_TX_PTR_GAP 0x1F
15diff --git a/src/igb_main.c b/src/igb_main.c
16index 2dff0f4..bbfe87e 100644
17--- a/src/igb_main.c
18+++ b/src/igb_main.c
19@@ -2852,6 +2852,10 @@ static int igb_probe(struct pci_dev *pdev,
20 if (pci_using_dac)
21 netdev->features |= NETIF_F_HIGHDMA;
22
23+ /* MTU range: 68 - 9216 */
24+ netdev->min_mtu = ETH_MIN_MTU;
25+ netdev->max_mtu = MAX_STD_JUMBO_FRAME_SIZE;
26+
27 adapter->en_mng_pt = e1000_enable_mng_pass_thru(hw);
28 #ifdef DEBUG
29 if (adapter->dmac != IGB_DMAC_DISABLE)
30@@ -5832,17 +5836,6 @@ static int igb_change_mtu(struct net_device *netdev, int new_mtu)
31 struct pci_dev *pdev = adapter->pdev;
32 int max_frame = new_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN;
33
34- if ((new_mtu < 68) || (max_frame > MAX_JUMBO_FRAME_SIZE)) {
35- dev_err(pci_dev_to_dev(pdev), "Invalid MTU setting\n");
36- return -EINVAL;
37- }
38-
39-#define MAX_STD_JUMBO_FRAME_SIZE 9238
40- if (max_frame > MAX_STD_JUMBO_FRAME_SIZE) {
41- dev_err(pci_dev_to_dev(pdev), "MTU > 9216 not supported.\n");
42- return -EINVAL;
43- }
44-
45 /* adjust max frame to be at least the size of a standard frame */
46 if (max_frame < (ETH_FRAME_LEN + ETH_FCS_LEN))
47 max_frame = ETH_FRAME_LEN + ETH_FCS_LEN;