aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/core/rtnetlink.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 5bbaf74bf457..2bd9fb15b987 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -1624,8 +1624,12 @@ static int do_setlink(const struct sk_buff *skb,
1624 set_operstate(dev, nla_get_u8(tb[IFLA_OPERSTATE])); 1624 set_operstate(dev, nla_get_u8(tb[IFLA_OPERSTATE]));
1625 1625
1626 if (tb[IFLA_LINKMODE]) { 1626 if (tb[IFLA_LINKMODE]) {
1627 unsigned char value = nla_get_u8(tb[IFLA_LINKMODE]);
1628
1627 write_lock_bh(&dev_base_lock); 1629 write_lock_bh(&dev_base_lock);
1628 dev->link_mode = nla_get_u8(tb[IFLA_LINKMODE]); 1630 if (dev->link_mode ^ value)
1631 modified = 1;
1632 dev->link_mode = value;
1629 write_unlock_bh(&dev_base_lock); 1633 write_unlock_bh(&dev_base_lock);
1630 } 1634 }
1631 1635