aboutsummaryrefslogtreecommitdiffstats
path: root/net/8021q
diff options
context:
space:
mode:
Diffstat (limited to 'net/8021q')
-rw-r--r--net/8021q/vlan.c2
-rw-r--r--net/8021q/vlan_dev.c14
2 files changed, 15 insertions, 1 deletions
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c
index 6e64f7c6a2e9..7850412f52b7 100644
--- a/net/8021q/vlan.c
+++ b/net/8021q/vlan.c
@@ -327,7 +327,7 @@ static void vlan_sync_address(struct net_device *dev,
327static void vlan_transfer_features(struct net_device *dev, 327static void vlan_transfer_features(struct net_device *dev,
328 struct net_device *vlandev) 328 struct net_device *vlandev)
329{ 329{
330 unsigned long old_features = vlandev->features; 330 u32 old_features = vlandev->features;
331 331
332 vlandev->features &= ~dev->vlan_features; 332 vlandev->features &= ~dev->vlan_features;
333 vlandev->features |= dev->features & dev->vlan_features; 333 vlandev->features |= dev->features & dev->vlan_features;
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c
index be737539f34d..ae610f046de5 100644
--- a/net/8021q/vlan_dev.c
+++ b/net/8021q/vlan_dev.c
@@ -625,6 +625,19 @@ static int vlan_dev_fcoe_get_wwn(struct net_device *dev, u64 *wwn, int type)
625 rc = ops->ndo_fcoe_get_wwn(real_dev, wwn, type); 625 rc = ops->ndo_fcoe_get_wwn(real_dev, wwn, type);
626 return rc; 626 return rc;
627} 627}
628
629static int vlan_dev_fcoe_ddp_target(struct net_device *dev, u16 xid,
630 struct scatterlist *sgl, unsigned int sgc)
631{
632 struct net_device *real_dev = vlan_dev_info(dev)->real_dev;
633 const struct net_device_ops *ops = real_dev->netdev_ops;
634 int rc = 0;
635
636 if (ops->ndo_fcoe_ddp_target)
637 rc = ops->ndo_fcoe_ddp_target(real_dev, xid, sgl, sgc);
638
639 return rc;
640}
628#endif 641#endif
629 642
630static void vlan_dev_change_rx_flags(struct net_device *dev, int change) 643static void vlan_dev_change_rx_flags(struct net_device *dev, int change)
@@ -858,6 +871,7 @@ static const struct net_device_ops vlan_netdev_ops = {
858 .ndo_fcoe_enable = vlan_dev_fcoe_enable, 871 .ndo_fcoe_enable = vlan_dev_fcoe_enable,
859 .ndo_fcoe_disable = vlan_dev_fcoe_disable, 872 .ndo_fcoe_disable = vlan_dev_fcoe_disable,
860 .ndo_fcoe_get_wwn = vlan_dev_fcoe_get_wwn, 873 .ndo_fcoe_get_wwn = vlan_dev_fcoe_get_wwn,
874 .ndo_fcoe_ddp_target = vlan_dev_fcoe_ddp_target,
861#endif 875#endif
862}; 876};
863 877