On 01.01.2019 09:42, Murali Krishna Policharla wrote:
> Store newly configured mtu settings in the netdevice after mtu
> configuration is successful to the dsa switch.
> 
> Fixes: 2315dc91a5 ("net: make dev_set_mtu() honor notification return code")
> Signed-off-by: Murali Krishna Policharla <murali.policha...@broadcom.com>
> Reviewed-by: Florian Fainelli <florian.faine...@broadcom.com>
> ---
>  net/core/dev.c | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/net/core/dev.c b/net/core/dev.c
> index 722d50d..58617aa 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -7586,12 +7586,15 @@ int dev_change_flags(struct net_device *dev, unsigned 
> int flags)
>  int __dev_set_mtu(struct net_device *dev, int new_mtu)
>  {
>       const struct net_device_ops *ops = dev->netdev_ops;
> +     int ret = 0;
>  
>       if (ops->ndo_change_mtu)
> -             return ops->ndo_change_mtu(dev, new_mtu);

Is there a .ndo_change_mtu callback, which does not assign a new mtu itself?

> +             ret = ops->ndo_change_mtu(dev, new_mtu);
>  
> -     dev->mtu = new_mtu;
> -     return 0;
> +     if (ret >= 0)
> +             dev->mtu = new_mtu;
> +
> +     return ret;
>  }
>  EXPORT_SYMBOL(__dev_set_mtu);
>  
> 

Reply via email to