summaryrefslogtreecommitdiffstats
path: root/drivers/net/macvlan.c
diff options
context:
space:
mode:
authorJiri Pirko <jpirko@redhat.com>2011-12-08 19:52:37 -0500
committerDavid S. Miller <davem@davemloft.net>2011-12-08 19:52:37 -0500
commit8e586137e6b63af1e881b328466ab5ffbe562510 (patch)
treeda0767e1b1361aa24bd32f485453079e31854c0c /drivers/net/macvlan.c
parent7da82c06ded105bf601bfa0eafc92e84eb0ceeed (diff)
net: make vlan ndo_vlan_rx_[add/kill]_vid return error value
Let caller know the result of adding/removing vlan id to/from vlan filter. In some drivers I make those functions to just return 0. But in those where there is able to see if hw setup went correctly, return value is set appropriately. Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/macvlan.c')
-rw-r--r--drivers/net/macvlan.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c
index 74134970b709..2511bc5c34f3 100644
--- a/drivers/net/macvlan.c
+++ b/drivers/net/macvlan.c
@@ -520,7 +520,7 @@ static struct rtnl_link_stats64 *macvlan_dev_get_stats64(struct net_device *dev,
520 return stats; 520 return stats;
521} 521}
522 522
523static void macvlan_vlan_rx_add_vid(struct net_device *dev, 523static int macvlan_vlan_rx_add_vid(struct net_device *dev,
524 unsigned short vid) 524 unsigned short vid)
525{ 525{
526 struct macvlan_dev *vlan = netdev_priv(dev); 526 struct macvlan_dev *vlan = netdev_priv(dev);
@@ -528,10 +528,11 @@ static void macvlan_vlan_rx_add_vid(struct net_device *dev,
528 const struct net_device_ops *ops = lowerdev->netdev_ops; 528 const struct net_device_ops *ops = lowerdev->netdev_ops;
529 529
530 if (ops->ndo_vlan_rx_add_vid) 530 if (ops->ndo_vlan_rx_add_vid)
531 ops->ndo_vlan_rx_add_vid(lowerdev, vid); 531 return ops->ndo_vlan_rx_add_vid(lowerdev, vid);
532 return 0;
532} 533}
533 534
534static void macvlan_vlan_rx_kill_vid(struct net_device *dev, 535static int macvlan_vlan_rx_kill_vid(struct net_device *dev,
535 unsigned short vid) 536 unsigned short vid)
536{ 537{
537 struct macvlan_dev *vlan = netdev_priv(dev); 538 struct macvlan_dev *vlan = netdev_priv(dev);
@@ -539,7 +540,8 @@ static void macvlan_vlan_rx_kill_vid(struct net_device *dev,
539 const struct net_device_ops *ops = lowerdev->netdev_ops; 540 const struct net_device_ops *ops = lowerdev->netdev_ops;
540 541
541 if (ops->ndo_vlan_rx_kill_vid) 542 if (ops->ndo_vlan_rx_kill_vid)
542 ops->ndo_vlan_rx_kill_vid(lowerdev, vid); 543 return ops->ndo_vlan_rx_kill_vid(lowerdev, vid);
544 return 0;
543} 545}
544 546
545static void macvlan_ethtool_get_drvinfo(struct net_device *dev, 547static void macvlan_ethtool_get_drvinfo(struct net_device *dev,