/* Maximum number of packets to handle per "poll". */
 #define TILE_NET_WEIGHT 64
 
+/* Maximum Jumbo Packet MTU */
+#define TILE_JUMBO_MAX_MTU 9000
+
 /* Number of entries in each iqueue. */
 #define IQUEUE_ENTRIES 512
 
        return -EOPNOTSUPP;
 }
 
-/* Change the MTU. */
-static int tile_net_change_mtu(struct net_device *dev, int new_mtu)
-{
-       if (new_mtu < 68)
-               return -EINVAL;
-       if (new_mtu > ((jumbo_num != 0) ? 9000 : 1500))
-               return -EINVAL;
-       dev->mtu = new_mtu;
-       return 0;
-}
-
 /* Change the Ethernet address of the NIC.
  *
  * The hypervisor driver does not support changing MAC address.  However,
        .ndo_start_xmit = tile_net_tx,
        .ndo_select_queue = tile_net_select_queue,
        .ndo_do_ioctl = tile_net_ioctl,
-       .ndo_change_mtu = tile_net_change_mtu,
        .ndo_tx_timeout = tile_net_tx_timeout,
        .ndo_set_mac_address = tile_net_set_mac_address,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        ether_setup(dev);
        dev->netdev_ops = &tile_net_ops;
        dev->watchdog_timeo = TILE_NET_TIMEOUT;
-       dev->mtu = 1500;
+
+       /* MTU range: 68 - 1500 or 9000 */
+       dev->mtu = ETH_DATA_LEN;
+       dev->min_mtu = ETH_MIN_MTU;
+       dev->max_mtu = jumbo_num ? TILE_JUMBO_MAX_MTU : ETH_DATA_LEN;
 
        features |= NETIF_F_HW_CSUM;
        features |= NETIF_F_SG;
 
 /* This should be 1500 if "jumbo" is not set in LIPP. */
 /* This should be at most 10226 (10240 - 14) if "jumbo" is set in LIPP. */
 /* ISSUE: This has not been thoroughly tested (except at 1500). */
-#define TILE_NET_MTU 1500
+#define TILE_NET_MTU ETH_DATA_LEN
 
 /* HACK: Define this to verify incoming packets. */
 /* #define TILE_NET_VERIFY_INGRESS */
 }
 
 
-/*
- * Change the "mtu".
- *
- * The "change_mtu" method is usually not needed.
- * If you need it, it must be like this.
- */
-static int tile_net_change_mtu(struct net_device *dev, int new_mtu)
-{
-       PDEBUG("tile_net_change_mtu()\n");
-
-       /* Check ranges. */
-       if ((new_mtu < 68) || (new_mtu > 1500))
-               return -EINVAL;
-
-       /* Accept the value. */
-       dev->mtu = new_mtu;
-
-       return 0;
-}
-
 
 /*
  * Change the Ethernet Address of the NIC.
        .ndo_start_xmit = tile_net_tx,
        .ndo_do_ioctl = tile_net_ioctl,
        .ndo_get_stats64 = tile_net_get_stats64,
-       .ndo_change_mtu = tile_net_change_mtu,
        .ndo_tx_timeout = tile_net_tx_timeout,
        .ndo_set_mac_address = tile_net_set_mac_address,
 #ifdef CONFIG_NET_POLL_CONTROLLER
        dev->netdev_ops = &tile_net_ops;
        dev->watchdog_timeo = TILE_NET_TIMEOUT;
        dev->tx_queue_len = TILE_NET_TX_QUEUE_LEN;
+
+       /* MTU range: 68 - 1500 */
        dev->mtu = TILE_NET_MTU;
+       dev->min_mtu = ETH_MIN_MTU;
+       dev->max_mtu = TILE_NET_MTU;
 
        features |= NETIF_F_HW_CSUM;
        features |= NETIF_F_SG;