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);
+               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);
 
-- 
1.9.1

Reply via email to