--- zzzz-none-000/linux-2.6.28.10/net/ethernet/eth.c 2009-05-02 18:54:43.000000000 +0000 +++ fusiv-7390-686/linux-2.6.28.10/net/ethernet/eth.c 2010-04-07 09:56:53.000000000 +0000 @@ -304,10 +304,14 @@ */ static int eth_change_mtu(struct net_device *dev, int new_mtu) { - if (new_mtu < 68 || new_mtu > ETH_DATA_LEN) - return -EINVAL; - dev->mtu = new_mtu; - return 0; +#ifdef CONFIG_MACH_FUSIV + if (new_mtu < 68 || new_mtu > MAX_ETH_DATA_LEN) +#else + if (new_mtu < 68 || new_mtu > ETH_DATA_LEN) +#endif + return -EINVAL; + dev->mtu = new_mtu; + return 0; } static int eth_validate_addr(struct net_device *dev)