Commit d917c35a authored by Bjorn Andersson's avatar Bjorn Andersson Committed by David S. Miller

net: qualcomm: rmnet: Allow partial updates of IFLA_FLAGS

The idiomatic way to handle the changelink flags/mask pair seems to be
allow partial updates of the driver's link flags. In contrast the rmnet
driver masks the incoming flags and then use that as the new flags.

Change the rmnet driver to follow the common scheme, before the
introduction of IFLA_RMNET_FLAGS handling in iproute2 et al.
Signed-off-by: default avatarBjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: default avatarAlex Elder <elder@linaro.org>
Reviewed-by: default avatarSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c2ae34a7
...@@ -163,7 +163,8 @@ static int rmnet_newlink(struct net *src_net, struct net_device *dev, ...@@ -163,7 +163,8 @@ static int rmnet_newlink(struct net *src_net, struct net_device *dev,
struct ifla_rmnet_flags *flags; struct ifla_rmnet_flags *flags;
flags = nla_data(data[IFLA_RMNET_FLAGS]); flags = nla_data(data[IFLA_RMNET_FLAGS]);
data_format = flags->flags & flags->mask; data_format &= ~flags->mask;
data_format |= flags->flags & flags->mask;
} }
netdev_dbg(dev, "data format [0x%08X]\n", data_format); netdev_dbg(dev, "data format [0x%08X]\n", data_format);
...@@ -336,7 +337,8 @@ static int rmnet_changelink(struct net_device *dev, struct nlattr *tb[], ...@@ -336,7 +337,8 @@ static int rmnet_changelink(struct net_device *dev, struct nlattr *tb[],
old_data_format = port->data_format; old_data_format = port->data_format;
flags = nla_data(data[IFLA_RMNET_FLAGS]); flags = nla_data(data[IFLA_RMNET_FLAGS]);
port->data_format = flags->flags & flags->mask; port->data_format &= ~flags->mask;
port->data_format |= flags->flags & flags->mask;
if (rmnet_vnd_update_dev_mtu(port, real_dev)) { if (rmnet_vnd_update_dev_mtu(port, real_dev)) {
port->data_format = old_data_format; port->data_format = old_data_format;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment