Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ethernet/neterion: use core min/max MTU checking

s2io: min_mtu 46, max_mtu 9600

vxge: min_mtu 68, max_mtu 9600

CC: netdev@vger.kernel.org
CC: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Jarod Wilson and committed by
David S. Miller
18c310fb f7ad72bf

+9 -11
+4 -5
drivers/net/ethernet/neterion/s2io.c
··· 6678 6678 struct s2io_nic *sp = netdev_priv(dev); 6679 6679 int ret = 0; 6680 6680 6681 - if ((new_mtu < MIN_MTU) || (new_mtu > S2IO_JUMBO_SIZE)) { 6682 - DBG_PRINT(ERR_DBG, "%s: MTU size is invalid.\n", dev->name); 6683 - return -EPERM; 6684 - } 6685 - 6686 6681 dev->mtu = new_mtu; 6687 6682 if (netif_running(dev)) { 6688 6683 s2io_stop_all_tx_queue(sp); ··· 8013 8018 config->max_mac_addr = S2IO_HERC_MAX_MAC_ADDRESSES; 8014 8019 config->mc_start_offset = S2IO_HERC_MC_ADDR_START_OFFSET; 8015 8020 } 8021 + 8022 + /* MTU range: 46 - 9600 */ 8023 + dev->min_mtu = MIN_MTU; 8024 + dev->max_mtu = S2IO_JUMBO_SIZE; 8016 8025 8017 8026 /* store mac addresses from CAM to s2io_nic structure */ 8018 8027 do_s2io_store_unicast_mc(sp);
+1 -1
drivers/net/ethernet/neterion/vxge/vxge-config.h
··· 27 27 (((size) - (((u64)adrs) & ((size)-1))) & ((size)-1)) 28 28 #endif 29 29 30 - #define VXGE_HW_MIN_MTU 68 30 + #define VXGE_HW_MIN_MTU ETH_MIN_MTU 31 31 #define VXGE_HW_MAX_MTU 9600 32 32 #define VXGE_HW_DEFAULT_MTU 1500 33 33
+4 -5
drivers/net/ethernet/neterion/vxge/vxge-main.c
··· 3074 3074 3075 3075 vxge_debug_entryexit(vdev->level_trace, 3076 3076 "%s:%d", __func__, __LINE__); 3077 - if ((new_mtu < VXGE_HW_MIN_MTU) || (new_mtu > VXGE_HW_MAX_MTU)) { 3078 - vxge_debug_init(vdev->level_err, 3079 - "%s: mtu size is invalid", dev->name); 3080 - return -EPERM; 3081 - } 3082 3077 3083 3078 /* check if device is down already */ 3084 3079 if (unlikely(!is_vxge_card_up(vdev))) { ··· 3456 3461 vxge_debug_init(vxge_hw_device_trace_level_get(hldev), 3457 3462 "%s : using High DMA", __func__); 3458 3463 } 3464 + 3465 + /* MTU range: 68 - 9600 */ 3466 + ndev->min_mtu = VXGE_HW_MIN_MTU; 3467 + ndev->max_mtu = VXGE_HW_MAX_MTU; 3459 3468 3460 3469 ret = register_netdev(ndev); 3461 3470 if (ret) {