ns83820: do vlan cleanup
authorJiri Pirko <jpirko@redhat.com>
Wed, 20 Jul 2011 04:54:32 +0000 (04:54 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 21 Jul 2011 20:47:56 +0000 (13:47 -0700)
- 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>
drivers/net/ns83820.c

index d3afb458987e8e12575c0cc704ba8096984b5e68..e736aec588fcb1cbdc3e365b88e158592322b8f2 100644 (file)
@@ -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,