commit 8a0427b "vlan: convert VLAN devices to use ndo_fix_features()" converts the vlan to support ndo_fix_features. However, the wanted_features is not updated for the vlan device, causing real_dev->features not be populated to the vlan device when real_dev->features are changed by the driver through FEAT_CHANGE. This is breaking FCoE related netdev feature flags on vlan devices. Add updating wanted_features to vlan_transfer_features() so netdev_get_wanted_features() will can get the updated wanted feature flags for vlan device properly.
I am sending as RFC in case the usage of wanted_features on vlan device is not right, since the features chanaged are not directly from user doing ethtool, but it is from user action of starting to run FCoE on a netdev instance. Anyway, let let me know if there is a preferred alternative fix. Signed-off-by: Yi Zou <[email protected]> --- net/8021q/vlan.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index 969e700..f2ee00b 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c @@ -332,6 +332,7 @@ static void vlan_transfer_features(struct net_device *dev, #if defined(CONFIG_FCOE) || defined(CONFIG_FCOE_MODULE) vlandev->fcoe_ddp_xid = dev->fcoe_ddp_xid; #endif + vlandev->wanted_features |= dev->features & dev->vlan_features; netdev_update_features(vlandev); } _______________________________________________ devel mailing list [email protected] https://lists.open-fcoe.org/mailman/listinfo/devel
