mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -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
|
|
@ -1349,15 +1349,6 @@ static netdev_tx_t fwnet_tx(struct sk_buff *skb, struct net_device *net)
|
|||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
||||
static int fwnet_change_mtu(struct net_device *net, int new_mtu)
|
||||
{
|
||||
if (new_mtu < 68)
|
||||
return -EINVAL;
|
||||
|
||||
net->mtu = new_mtu;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct ethtool_ops fwnet_ethtool_ops = {
|
||||
.get_link = ethtool_op_get_link,
|
||||
};
|
||||
|
|
@ -1366,7 +1357,6 @@ static const struct net_device_ops fwnet_netdev_ops = {
|
|||
.ndo_open = fwnet_open,
|
||||
.ndo_stop = fwnet_stop,
|
||||
.ndo_start_xmit = fwnet_tx,
|
||||
.ndo_change_mtu = fwnet_change_mtu,
|
||||
};
|
||||
|
||||
static void fwnet_init_dev(struct net_device *net)
|
||||
|
|
@ -1435,7 +1425,6 @@ static int fwnet_probe(struct fw_unit *unit,
|
|||
struct net_device *net;
|
||||
bool allocated_netdev = false;
|
||||
struct fwnet_device *dev;
|
||||
unsigned max_mtu;
|
||||
int ret;
|
||||
union fwnet_hwaddr *ha;
|
||||
|
||||
|
|
@ -1478,9 +1467,10 @@ static int fwnet_probe(struct fw_unit *unit,
|
|||
* Use the RFC 2734 default 1500 octets or the maximum payload
|
||||
* as initial MTU
|
||||
*/
|
||||
max_mtu = (1 << (card->max_receive + 1))
|
||||
- sizeof(struct rfc2734_header) - IEEE1394_GASP_HDR_SIZE;
|
||||
net->mtu = min(1500U, max_mtu);
|
||||
net->max_mtu = (1 << (card->max_receive + 1))
|
||||
- sizeof(struct rfc2734_header) - IEEE1394_GASP_HDR_SIZE;
|
||||
net->mtu = min(1500U, net->max_mtu);
|
||||
net->min_mtu = ETH_MIN_MTU;
|
||||
|
||||
/* Set our hardware address while we're at it */
|
||||
ha = (union fwnet_hwaddr *)net->dev_addr;
|
||||
|
|
|
|||
Loading…
Reference in a new issue