[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 04 May 2011 17:48:42 -0700
From: Yi Zou <yi.zou@...el.com>
To: netdev@...r.kernel.org
Cc: mirq-linux@...e.qmqm.pl, jeffrey.t.kirsher@...el.com,
devel@...n-fcoe.org
Subject: [PATCH] [RFC] vlan: fix updating wanted_features for vlan device
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 <yi.zou@...el.com>
---
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);
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists