diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c index 09be08c6..00065523 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.c @@ -2259,6 +2259,13 @@ static int ether_change_mtu(struct net_device *ndev, int new_mtu) return -EBUSY; } + if (new_mtu > OSI_MTU_SIZE_9000 && osi_dma->num_dma_chans != 1U) { + netdev_err(pdata->ndev, + "MTU greater than %d is valid only in single channel configuration\n" + , OSI_MTU_SIZE_9000); + return -EINVAL; + } + ndev->mtu = new_mtu; osi_core->mtu = new_mtu; osi_dma->mtu = new_mtu; @@ -3383,14 +3390,14 @@ static int ether_parse_dt(struct ether_priv_data *pdata) &pdata->max_platform_mtu); if (ret < 0) { dev_info(dev, "max-platform-mtu DT entry missing, setting default %d\n", - ETHER_DEFAULT_PLATFORM_MTU); - pdata->max_platform_mtu = ETHER_DEFAULT_PLATFORM_MTU; + OSI_DFLT_MTU_SIZE); + pdata->max_platform_mtu = OSI_DFLT_MTU_SIZE; } else { - if (pdata->max_platform_mtu > ETHER_MAX_HW_MTU || + if (pdata->max_platform_mtu > OSI_MAX_MTU_SIZE || pdata->max_platform_mtu < ETH_MIN_MTU) { dev_info(dev, "Invalid max-platform-mtu, setting default %d\n", - ETHER_DEFAULT_PLATFORM_MTU); - pdata->max_platform_mtu = ETHER_DEFAULT_PLATFORM_MTU; + OSI_DFLT_MTU_SIZE); + pdata->max_platform_mtu = OSI_DFLT_MTU_SIZE; } } diff --git a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.h b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.h index 32ad7997..bbf485ce 100644 --- a/drivers/net/ethernet/nvidia/nvethernet/ether_linux.h +++ b/drivers/net/ethernet/nvidia/nvethernet/ether_linux.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2018-2020, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -111,15 +111,6 @@ #define HW_HASH_TBL_SZ_0 0 /** @} */ -/** - * @brief Ethernet Maximum HW MTU - */ -#define ETHER_MAX_HW_MTU 9000U -/** - * @brief Ethernet default platform supported MTU - */ -#define ETHER_DEFAULT_PLATFORM_MTU 1500U - /** * @brief Maximum buffer length per DMA descriptor (16KB). */