diff options
author | Jiri Pirko <jpirko@redhat.com> | 2011-12-08 19:52:37 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-12-08 19:52:37 -0500 |
commit | 8e586137e6b63af1e881b328466ab5ffbe562510 (patch) | |
tree | da0767e1b1361aa24bd32f485453079e31854c0c /drivers/net/ethernet/via/via-rhine.c | |
parent | 7da82c06ded105bf601bfa0eafc92e84eb0ceeed (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/ethernet/via/via-rhine.c')
-rw-r--r-- | drivers/net/ethernet/via/via-rhine.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c index 5587ecdf32e3..bcdbdc72b558 100644 --- a/drivers/net/ethernet/via/via-rhine.c +++ b/drivers/net/ethernet/via/via-rhine.c | |||
@@ -488,8 +488,8 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); | |||
488 | static const struct ethtool_ops netdev_ethtool_ops; | 488 | static const struct ethtool_ops netdev_ethtool_ops; |
489 | static int rhine_close(struct net_device *dev); | 489 | static int rhine_close(struct net_device *dev); |
490 | static void rhine_shutdown (struct pci_dev *pdev); | 490 | static void rhine_shutdown (struct pci_dev *pdev); |
491 | static void rhine_vlan_rx_add_vid(struct net_device *dev, unsigned short vid); | 491 | static int rhine_vlan_rx_add_vid(struct net_device *dev, unsigned short vid); |
492 | static void rhine_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid); | 492 | static int rhine_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid); |
493 | static void rhine_set_cam(void __iomem *ioaddr, int idx, u8 *addr); | 493 | static void rhine_set_cam(void __iomem *ioaddr, int idx, u8 *addr); |
494 | static void rhine_set_vlan_cam(void __iomem *ioaddr, int idx, u8 *addr); | 494 | static void rhine_set_vlan_cam(void __iomem *ioaddr, int idx, u8 *addr); |
495 | static void rhine_set_cam_mask(void __iomem *ioaddr, u32 mask); | 495 | static void rhine_set_cam_mask(void __iomem *ioaddr, u32 mask); |
@@ -1261,7 +1261,7 @@ static void rhine_update_vcam(struct net_device *dev) | |||
1261 | rhine_set_vlan_cam_mask(ioaddr, vCAMmask); | 1261 | rhine_set_vlan_cam_mask(ioaddr, vCAMmask); |
1262 | } | 1262 | } |
1263 | 1263 | ||
1264 | static void rhine_vlan_rx_add_vid(struct net_device *dev, unsigned short vid) | 1264 | static int rhine_vlan_rx_add_vid(struct net_device *dev, unsigned short vid) |
1265 | { | 1265 | { |
1266 | struct rhine_private *rp = netdev_priv(dev); | 1266 | struct rhine_private *rp = netdev_priv(dev); |
1267 | 1267 | ||
@@ -1269,9 +1269,10 @@ static void rhine_vlan_rx_add_vid(struct net_device *dev, unsigned short vid) | |||
1269 | set_bit(vid, rp->active_vlans); | 1269 | set_bit(vid, rp->active_vlans); |
1270 | rhine_update_vcam(dev); | 1270 | rhine_update_vcam(dev); |
1271 | spin_unlock_irq(&rp->lock); | 1271 | spin_unlock_irq(&rp->lock); |
1272 | return 0; | ||
1272 | } | 1273 | } |
1273 | 1274 | ||
1274 | static void rhine_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) | 1275 | static int rhine_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) |
1275 | { | 1276 | { |
1276 | struct rhine_private *rp = netdev_priv(dev); | 1277 | struct rhine_private *rp = netdev_priv(dev); |
1277 | 1278 | ||
@@ -1279,6 +1280,7 @@ static void rhine_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) | |||
1279 | clear_bit(vid, rp->active_vlans); | 1280 | clear_bit(vid, rp->active_vlans); |
1280 | rhine_update_vcam(dev); | 1281 | rhine_update_vcam(dev); |
1281 | spin_unlock_irq(&rp->lock); | 1282 | spin_unlock_irq(&rp->lock); |
1283 | return 0; | ||
1282 | } | 1284 | } |
1283 | 1285 | ||
1284 | static void init_registers(struct net_device *dev) | 1286 | static void init_registers(struct net_device *dev) |