Once mtu_set_by_user is set to true, br_mtu_auto_adjust will
not run, and no chance to clear mtu_set_by_user.

and br_mtu_auto_adjust will run only if mtu_set_by_user is
false, so not need to set it to false again

Cc: Nikolay Aleksandrov <niko...@cumulusnetworks.com>
Signed-off-by: Li RongQing <lirongq...@baidu.com>
---
 net/bridge/br_device.c | 1 -
 net/bridge/br_if.c     | 4 ----
 2 files changed, 5 deletions(-)

diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c
index e682a668ce57..c636bc2749c2 100644
--- a/net/bridge/br_device.c
+++ b/net/bridge/br_device.c
@@ -227,7 +227,6 @@ static int br_change_mtu(struct net_device *dev, int 
new_mtu)
 
        dev->mtu = new_mtu;
 
-       /* this flag will be cleared if the MTU was automatically adjusted */
        br->mtu_set_by_user = true;
 #if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
        /* remember the MTU in the rtable for PMTU */
diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c
index 05e42d86882d..47c65da4b1be 100644
--- a/net/bridge/br_if.c
+++ b/net/bridge/br_if.c
@@ -450,11 +450,7 @@ void br_mtu_auto_adjust(struct net_bridge *br)
        if (br->mtu_set_by_user)
                return;
 
-       /* change to the minimum MTU and clear the flag which was set by
-        * the bridge ndo_change_mtu callback
-        */
        dev_set_mtu(br->dev, br_mtu_min(br));
-       br->mtu_set_by_user = false;
 }
 
 static void br_set_gso_limits(struct net_bridge *br)
-- 
2.16.2

Reply via email to