diff options
Diffstat (limited to 'drivers/net/ns83820.c')
| -rw-r--r-- | drivers/net/ns83820.c | 34 | 
1 files changed, 5 insertions, 29 deletions
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c index 3e4040f2f3c..e736aec588f 100644 --- a/drivers/net/ns83820.c +++ b/drivers/net/ns83820.c @@ -106,6 +106,7 @@  #include <linux/delay.h>  #include <linux/workqueue.h>  #include <linux/init.h> +#include <linux/interrupt.h>  #include <linux/ip.h>	/* for iph */  #include <linux/in.h>	/* for IPPROTO_... */  #include <linux/compiler.h> @@ -429,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; @@ -493,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 @@ -929,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++; @@ -1960,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,  |