Commit f7ad72bf authored by Jarod Wilson's avatar Jarod Wilson Committed by David S. Miller

ethernet/dlink: use core min/max MTU checking

dl2k: min_mtu 68, max_mtu 1536 or 8000, depending on hardware
- Removed change_mtu, does nothing productive anymore

sundance: min_mtu 68, max_mtu 8191

CC: netdev@vger.kernel.org
CC: Denis Kirjanov <kda@linux-powerpc.org>
Signed-off-by: default avatarJarod Wilson <jarod@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 540bfe30
...@@ -76,7 +76,6 @@ static void rio_free_tx (struct net_device *dev, int irq); ...@@ -76,7 +76,6 @@ static void rio_free_tx (struct net_device *dev, int irq);
static void tx_error (struct net_device *dev, int tx_status); static void tx_error (struct net_device *dev, int tx_status);
static int receive_packet (struct net_device *dev); static int receive_packet (struct net_device *dev);
static void rio_error (struct net_device *dev, int int_status); static void rio_error (struct net_device *dev, int int_status);
static int change_mtu (struct net_device *dev, int new_mtu);
static void set_multicast (struct net_device *dev); static void set_multicast (struct net_device *dev);
static struct net_device_stats *get_stats (struct net_device *dev); static struct net_device_stats *get_stats (struct net_device *dev);
static int clear_stats (struct net_device *dev); static int clear_stats (struct net_device *dev);
...@@ -106,7 +105,6 @@ static const struct net_device_ops netdev_ops = { ...@@ -106,7 +105,6 @@ static const struct net_device_ops netdev_ops = {
.ndo_set_rx_mode = set_multicast, .ndo_set_rx_mode = set_multicast,
.ndo_do_ioctl = rio_ioctl, .ndo_do_ioctl = rio_ioctl,
.ndo_tx_timeout = rio_tx_timeout, .ndo_tx_timeout = rio_tx_timeout,
.ndo_change_mtu = change_mtu,
}; };
static int static int
...@@ -230,6 +228,10 @@ rio_probe1 (struct pci_dev *pdev, const struct pci_device_id *ent) ...@@ -230,6 +228,10 @@ rio_probe1 (struct pci_dev *pdev, const struct pci_device_id *ent)
#if 0 #if 0
dev->features = NETIF_F_IP_CSUM; dev->features = NETIF_F_IP_CSUM;
#endif #endif
/* MTU range: 68 - 1536 or 8000 */
dev->min_mtu = ETH_MIN_MTU;
dev->max_mtu = np->jumbo ? MAX_JUMBO : PACKET_SIZE;
pci_set_drvdata (pdev, dev); pci_set_drvdata (pdev, dev);
ring_space = pci_alloc_consistent (pdev, TX_TOTAL_SIZE, &ring_dma); ring_space = pci_alloc_consistent (pdev, TX_TOTAL_SIZE, &ring_dma);
...@@ -1198,22 +1200,6 @@ clear_stats (struct net_device *dev) ...@@ -1198,22 +1200,6 @@ clear_stats (struct net_device *dev)
return 0; return 0;
} }
static int
change_mtu (struct net_device *dev, int new_mtu)
{
struct netdev_private *np = netdev_priv(dev);
int max = (np->jumbo) ? MAX_JUMBO : 1536;
if ((new_mtu < 68) || (new_mtu > max)) {
return -EINVAL;
}
dev->mtu = new_mtu;
return 0;
}
static void static void
set_multicast (struct net_device *dev) set_multicast (struct net_device *dev)
{ {
......
...@@ -580,6 +580,10 @@ static int sundance_probe1(struct pci_dev *pdev, ...@@ -580,6 +580,10 @@ static int sundance_probe1(struct pci_dev *pdev,
dev->ethtool_ops = &ethtool_ops; dev->ethtool_ops = &ethtool_ops;
dev->watchdog_timeo = TX_TIMEOUT; dev->watchdog_timeo = TX_TIMEOUT;
/* MTU range: 68 - 8191 */
dev->min_mtu = ETH_MIN_MTU;
dev->max_mtu = 8191;
pci_set_drvdata(pdev, dev); pci_set_drvdata(pdev, dev);
i = register_netdev(dev); i = register_netdev(dev);
...@@ -713,8 +717,6 @@ static int sundance_probe1(struct pci_dev *pdev, ...@@ -713,8 +717,6 @@ static int sundance_probe1(struct pci_dev *pdev,
static int change_mtu(struct net_device *dev, int new_mtu) static int change_mtu(struct net_device *dev, int new_mtu)
{ {
if ((new_mtu < 68) || (new_mtu > 8191)) /* Set by RxDMAFrameLen */
return -EINVAL;
if (netif_running(dev)) if (netif_running(dev))
return -EBUSY; return -EBUSY;
dev->mtu = new_mtu; dev->mtu = new_mtu;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment