diff options
author | Jiri Pirko <jpirko@redhat.com> | 2011-07-20 04:54:32 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-07-21 13:47:56 -0700 |
commit | a4f676b80f9ca2a76cb27b8378343a5f4f972d3f (patch) | |
tree | c4da256eb8543c24694e919c6a6f524e1b14af40 /drivers/net/ns83820.c | |
parent | 5da96be53a16a62488316810d0c7c5d58ce3ee4f (diff) |
ns83820: do vlan cleanup
- unify vlan and nonvlan rx path
- kill dev->vlgrp and ns83820_vlan_rx_register
Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ns83820.c')
-rw-r--r-- | drivers/net/ns83820.c | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c index d3afb458987e..e736aec588fc 100644 --- a/drivers/net/ns83820.c +++ b/drivers/net/ns83820.c @@ -430,10 +430,6 @@ struct ns83820 { struct pci_dev *pci_dev; struct net_device *ndev; -#ifdef NS83820_VLAN_ACCEL_SUPPORT - struct vlan_group *vlgrp; -#endif - struct rx_info rx_info; struct tasklet_struct rx_tasklet; @@ -494,22 +490,6 @@ static inline void kick_rx(struct net_device *ndev) #define start_tx_okay(dev) \ (((NR_TX_DESC-2 + dev->tx_done_idx - dev->tx_free_idx) % NR_TX_DESC) > MIN_TX_DESC_FREE) - -#ifdef NS83820_VLAN_ACCEL_SUPPORT -static void ns83820_vlan_rx_register(struct net_device *ndev, struct vlan_group *grp) -{ - struct ns83820 *dev = PRIV(ndev); - - spin_lock_irq(&dev->misc_lock); - spin_lock(&dev->tx_lock); - - dev->vlgrp = grp; - - spin_unlock(&dev->tx_lock); - spin_unlock_irq(&dev->misc_lock); -} -#endif - /* Packet Receiver * * The hardware supports linked lists of receive descriptors for @@ -930,14 +910,12 @@ static void rx_irq(struct net_device *ndev) #ifdef NS83820_VLAN_ACCEL_SUPPORT if(extsts & EXTSTS_VPKT) { unsigned short tag; + tag = ntohs(extsts & EXTSTS_VTG_MASK); - rx_rc = vlan_hwaccel_rx(skb,dev->vlgrp,tag); - } else { - rx_rc = netif_rx(skb); + __vlan_hwaccel_put_tag(skb, tag); } -#else - rx_rc = netif_rx(skb); #endif + rx_rc = netif_rx(skb); if (NET_RX_DROP == rx_rc) { netdev_mangle_me_harder_failed: ndev->stats.rx_dropped++; @@ -1961,11 +1939,8 @@ static const struct net_device_ops netdev_ops = { .ndo_change_mtu = ns83820_change_mtu, .ndo_set_multicast_list = ns83820_set_multicast, .ndo_validate_addr = eth_validate_addr, - .ndo_set_mac_address = eth_mac_addr, + .ndo_set_mac_address = eth_mac_addr, .ndo_tx_timeout = ns83820_tx_timeout, -#ifdef NS83820_VLAN_ACCEL_SUPPORT - .ndo_vlan_rx_register = ns83820_vlan_rx_register, -#endif }; static int __devinit ns83820_init_one(struct pci_dev *pci_dev, |