mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 11:11:45 -04:00
net: use core MTU range checking in misc drivers
firewire-net: - set min/max_mtu - remove fwnet_change_mtu nes: - set max_mtu - clean up nes_netdev_change_mtu xpnet: - set min/max_mtu - remove xpnet_dev_change_mtu hippi: - set min/max_mtu - remove hippi_change_mtu batman-adv: - set max_mtu - remove batadv_interface_change_mtu - initialization is a little async, not 100% certain that max_mtu is set in the optimal place, don't have hardware to test with rionet: - set min/max_mtu - remove rionet_change_mtu slip: - set min/max_mtu - streamline sl_change_mtu um/net_kern: - remove pointless ndo_change_mtu hsi/clients/ssi_protocol: - use core MTU range checking - remove now redundant ssip_pn_set_mtu ipoib: - set a default max MTU value - Note: ipoib's actual max MTU can vary, depending on if the device is in connected mode or not, so we'll just set the max_mtu value to the max possible, and let the ndo_change_mtu function continue to validate any new MTU change requests with checks for CM or not. Note that ipoib has no min_mtu set, and thus, the network core's mtu > 0 check is the only lower bounds here. mptlan: - use net core MTU range checking - remove now redundant mpt_lan_change_mtu fddi: - min_mtu = 21, max_mtu = 4470 - remove now redundant fddi_change_mtu (including export) fjes: - min_mtu = 8192, max_mtu = 65536 - The max_mtu value is actually one over IP_MAX_MTU here, but the idea is to get past the core net MTU range checks so fjes_change_mtu can validate a new MTU against what it supports (see fjes_support_mtu in fjes_hw.c) hsr: - min_mtu = 0 (calls ether_setup, max_mtu is 1500) f_phonet: - min_mtu = 6, max_mtu = 65541 u_ether: - min_mtu = 14, max_mtu = 15412 phonet/pep-gprs: - min_mtu = 576, max_mtu = 65530 - remove redundant gprs_set_mtu CC: [email protected] CC: [email protected] CC: Stefan Richter <[email protected]> CC: Faisal Latif <[email protected]> CC: [email protected] CC: Cliff Whickman <[email protected]> CC: Robin Holt <[email protected]> CC: Jes Sorensen <[email protected]> CC: Marek Lindner <[email protected]> CC: Simon Wunderlich <[email protected]> CC: Antonio Quartulli <[email protected]> CC: Sathya Prakash <[email protected]> CC: Chaitra P B <[email protected]> CC: Suganath Prabu Subramani <[email protected]> CC: [email protected] CC: Sebastian Reichel <[email protected]> CC: Felipe Balbi <[email protected]> CC: Arvid Brodin <[email protected]> CC: Remi Denis-Courmont <[email protected]> Signed-off-by: Jarod Wilson <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
d0c2c9973e
commit
b3e3893e12
23 changed files with 46 additions and 154 deletions
|
|
@ -960,15 +960,6 @@ static int ssip_pn_stop(struct net_device *dev)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int ssip_pn_set_mtu(struct net_device *dev, int new_mtu)
|
||||
{
|
||||
if (new_mtu > SSIP_MAX_MTU || new_mtu < PHONET_MIN_MTU)
|
||||
return -EINVAL;
|
||||
dev->mtu = new_mtu;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ssip_xmit_work(struct work_struct *work)
|
||||
{
|
||||
struct ssi_protocol *ssi =
|
||||
|
|
@ -1060,7 +1051,6 @@ static const struct net_device_ops ssip_pn_ops = {
|
|||
.ndo_open = ssip_pn_open,
|
||||
.ndo_stop = ssip_pn_stop,
|
||||
.ndo_start_xmit = ssip_pn_xmit,
|
||||
.ndo_change_mtu = ssip_pn_set_mtu,
|
||||
};
|
||||
|
||||
static void ssip_pn_setup(struct net_device *dev)
|
||||
|
|
@ -1136,6 +1126,10 @@ static int ssi_protocol_probe(struct device *dev)
|
|||
goto out1;
|
||||
}
|
||||
|
||||
/* MTU range: 6 - 65535 */
|
||||
ssi->netdev->min_mtu = PHONET_MIN_MTU;
|
||||
ssi->netdev->max_mtu = SSIP_MAX_MTU;
|
||||
|
||||
SET_NETDEV_DEV(ssi->netdev, dev);
|
||||
netif_carrier_off(ssi->netdev);
|
||||
err = register_netdev(ssi->netdev);
|
||||
|
|
|
|||
Loading…
Reference in a new issue