Skip to content

Commit 3d5d96a

Browse files
jarodwilsondavem330
authored andcommitted
ethernet/ibm: use core min/max MTU checking
ehea: min_mtu 68, max_mtu 9022 - remove ehea_change_mtu, it's now redundant emac: min_mtu 46, max_mtu 1500 or whatever gets read from OF CC: [email protected] CC: Douglas Miller <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 109cc16 commit 3d5d96a

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

drivers/net/ethernet/ibm/ehea/ehea_main.c

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1981,14 +1981,6 @@ static void ehea_set_multicast_list(struct net_device *dev)
19811981
ehea_update_bcmc_registrations();
19821982
}
19831983

1984-
static int ehea_change_mtu(struct net_device *dev, int new_mtu)
1985-
{
1986-
if ((new_mtu < 68) || (new_mtu > EHEA_MAX_PACKET_SIZE))
1987-
return -EINVAL;
1988-
dev->mtu = new_mtu;
1989-
return 0;
1990-
}
1991-
19921984
static void xmit_common(struct sk_buff *skb, struct ehea_swqe *swqe)
19931985
{
19941986
swqe->tx_control |= EHEA_SWQE_IMM_DATA_PRESENT | EHEA_SWQE_CRC;
@@ -2968,7 +2960,6 @@ static const struct net_device_ops ehea_netdev_ops = {
29682960
.ndo_set_mac_address = ehea_set_mac_addr,
29692961
.ndo_validate_addr = eth_validate_addr,
29702962
.ndo_set_rx_mode = ehea_set_multicast_list,
2971-
.ndo_change_mtu = ehea_change_mtu,
29722963
.ndo_vlan_rx_add_vid = ehea_vlan_rx_add_vid,
29732964
.ndo_vlan_rx_kill_vid = ehea_vlan_rx_kill_vid,
29742965
.ndo_tx_timeout = ehea_tx_watchdog,
@@ -3041,6 +3032,10 @@ static struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter,
30413032
NETIF_F_IP_CSUM;
30423033
dev->watchdog_timeo = EHEA_WATCH_DOG_TIMEOUT;
30433034

3035+
/* MTU range: 68 - 9022 */
3036+
dev->min_mtu = ETH_MIN_MTU;
3037+
dev->max_mtu = EHEA_MAX_PACKET_SIZE;
3038+
30443039
INIT_WORK(&port->reset_task, ehea_reset_port);
30453040
INIT_DELAYED_WORK(&port->stats_work, ehea_update_stats);
30463041

drivers/net/ethernet/ibm/emac/core.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1099,9 +1099,6 @@ static int emac_change_mtu(struct net_device *ndev, int new_mtu)
10991099
struct emac_instance *dev = netdev_priv(ndev);
11001100
int ret = 0;
11011101

1102-
if (new_mtu < EMAC_MIN_MTU || new_mtu > dev->max_mtu)
1103-
return -EINVAL;
1104-
11051102
DBG(dev, "change_mtu(%d)" NL, new_mtu);
11061103

11071104
if (netif_running(ndev)) {
@@ -2564,7 +2561,7 @@ static int emac_init_config(struct emac_instance *dev)
25642561
if (emac_read_uint_prop(np, "cell-index", &dev->cell_index, 1))
25652562
return -ENXIO;
25662563
if (emac_read_uint_prop(np, "max-frame-size", &dev->max_mtu, 0))
2567-
dev->max_mtu = 1500;
2564+
dev->max_mtu = ETH_DATA_LEN;
25682565
if (emac_read_uint_prop(np, "rx-fifo-size", &dev->rx_fifo_size, 0))
25692566
dev->rx_fifo_size = 2048;
25702567
if (emac_read_uint_prop(np, "tx-fifo-size", &dev->tx_fifo_size, 0))
@@ -2890,6 +2887,10 @@ static int emac_probe(struct platform_device *ofdev)
28902887
ndev->netdev_ops = &emac_netdev_ops;
28912888
ndev->ethtool_ops = &emac_ethtool_ops;
28922889

2890+
/* MTU range: 46 - 1500 or whatever is in OF */
2891+
ndev->min_mtu = EMAC_MIN_MTU;
2892+
ndev->max_mtu = dev->max_mtu;
2893+
28932894
netif_carrier_off(ndev);
28942895

28952896
err = register_netdev(ndev);

0 commit comments

Comments
 (0)