aboutsummaryrefslogtreecommitdiffstats
path: root/net/hsr/hsr_slave.c
diff options
context:
space:
mode:
authorArvid Brodin <arvid.brodin@alten.se>2014-07-04 23:38:57 +0200
committerDavid S. Miller <davem@davemloft.net>2014-07-08 11:35:31 -0700
commit1cc1eb52734bfd2fc57c7b3337a11198e713580d (patch)
tree91d62f13216f866ccc2015c21a0d8962691f049c /net/hsr/hsr_slave.c
parentnet/hsr: Use list_head (and rcu) instead of array for slave devices. (diff)
downloadlinux-dev-1cc1eb52734bfd2fc57c7b3337a11198e713580d.tar.xz
linux-dev-1cc1eb52734bfd2fc57c7b3337a11198e713580d.zip
net/hsr: Implemented .ndo_fix_features (better device features handling).
Signed-off-by: Arvid Brodin <arvid.brodin@alten.se> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--net/hsr/hsr_slave.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/hsr/hsr_slave.c b/net/hsr/hsr_slave.c
index fffd69297c3e..23817d0b765b 100644
--- a/net/hsr/hsr_slave.c
+++ b/net/hsr/hsr_slave.c
@@ -344,6 +344,7 @@ int hsr_add_port(struct hsr_priv *hsr, struct net_device *dev,
if (dev->hard_header_len + HSR_HLEN > master->dev->hard_header_len)
master->dev->hard_header_len = dev->hard_header_len + HSR_HLEN;
+ netdev_update_features(master->dev);
dev_set_mtu(master->dev, hsr_get_max_mtu(hsr));
return 0;
@@ -363,6 +364,7 @@ void hsr_del_port(struct hsr_port *port)
list_del_rcu(&port->port_list);
if (port != master) {
+ netdev_update_features(master->dev);
dev_set_mtu(master->dev, hsr_get_max_mtu(hsr));
netdev_rx_handler_unregister(port->dev);
dev_set_promiscuity(port->dev, -1);