diff options
Diffstat (limited to 'drivers/net/macvlan.c')
| -rw-r--r-- | drivers/net/macvlan.c | 11 | 
1 files changed, 5 insertions, 6 deletions
| diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index d2f830ec2969..6ef5f77be4d0 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -900,8 +900,8 @@ static int macvlan_init(struct net_device *dev)  	dev->vlan_features	= lowerdev->vlan_features & MACVLAN_FEATURES;  	dev->vlan_features	|= ALWAYS_ON_OFFLOADS;  	dev->hw_enc_features    |= dev->features; -	dev->gso_max_size	= lowerdev->gso_max_size; -	dev->gso_max_segs	= lowerdev->gso_max_segs; +	netif_set_gso_max_size(dev, lowerdev->gso_max_size); +	netif_set_gso_max_segs(dev, lowerdev->gso_max_segs);  	dev->hard_header_len	= lowerdev->hard_header_len;  	macvlan_set_lockdep_class(dev); @@ -1171,7 +1171,6 @@ static const struct net_device_ops macvlan_netdev_ops = {  #endif  	.ndo_get_iflink		= macvlan_dev_get_iflink,  	.ndo_features_check	= passthru_features_check, -	.ndo_change_proto_down  = dev_change_proto_down_generic,  };  void macvlan_common_setup(struct net_device *dev) @@ -1182,7 +1181,7 @@ void macvlan_common_setup(struct net_device *dev)  	dev->max_mtu		= ETH_MAX_MTU;  	dev->priv_flags	       &= ~IFF_TX_SKB_SHARING;  	netif_keep_dst(dev); -	dev->priv_flags	       |= IFF_UNICAST_FLT; +	dev->priv_flags	       |= IFF_UNICAST_FLT | IFF_CHANGE_PROTO_DOWN;  	dev->netdev_ops		= &macvlan_netdev_ops;  	dev->needs_free_netdev	= true;  	dev->header_ops		= &macvlan_hard_header_ops; @@ -1748,8 +1747,8 @@ static int macvlan_device_event(struct notifier_block *unused,  		break;  	case NETDEV_FEAT_CHANGE:  		list_for_each_entry(vlan, &port->vlans, list) { -			vlan->dev->gso_max_size = dev->gso_max_size; -			vlan->dev->gso_max_segs = dev->gso_max_segs; +			netif_set_gso_max_size(vlan->dev, dev->gso_max_size); +			netif_set_gso_max_segs(vlan->dev, dev->gso_max_segs);  			netdev_update_features(vlan->dev);  		}  		break; |