aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/8139cp.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-03 12:41:05 -0700
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-06-03 12:41:05 -0700
commitc1a13ff57ab1ce52a0aae9984594dbfcfbaf68c0 (patch)
treec9f99adf0c1940ab0daeb2c3287152e49b096679 /drivers/net/8139cp.c
parent7dfb1716d717e41c07410bab52760d865caee12b (diff)
parentbeaf53bff7985ad57b5b6983f3d6142380449370 (diff)
Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: NET: add MAINTAINERS entry for ucc_geth driver myri10ge: report link up/down in standard ethtool way NetXen: Removal of extra free_irq call Update tulip maintainer email address smc91x: sh solution engine fixes. e1000: disable polling before registering netdevice network drivers: eliminate unneeded kill_vid code atl1: eliminate unneeded kill_vid code 8139cp: fix VLAN unregistration sky2: Fix VLAN unregistration VLAN: kill_vid is only useful for VLAN filtering devices qla3xxx: device doesnt do hardware checksumming.
Diffstat (limited to 'drivers/net/8139cp.c')
-rw-r--r--drivers/net/8139cp.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c
index e8c9f27817b..a804965e654 100644
--- a/drivers/net/8139cp.c
+++ b/drivers/net/8139cp.c
@@ -435,20 +435,12 @@ static void cp_vlan_rx_register(struct net_device *dev, struct vlan_group *grp)
spin_lock_irqsave(&cp->lock, flags);
cp->vlgrp = grp;
- cp->cpcmd |= RxVlanOn;
- cpw16(CpCmd, cp->cpcmd);
- spin_unlock_irqrestore(&cp->lock, flags);
-}
-
-static void cp_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid)
-{
- struct cp_private *cp = netdev_priv(dev);
- unsigned long flags;
+ if (grp)
+ cp->cpcmd |= RxVlanOn;
+ else
+ cp->cpcmd &= ~RxVlanOn;
- spin_lock_irqsave(&cp->lock, flags);
- cp->cpcmd &= ~RxVlanOn;
cpw16(CpCmd, cp->cpcmd);
- vlan_group_set_device(cp->vlgrp, vid, NULL);
spin_unlock_irqrestore(&cp->lock, flags);
}
#endif /* CP_VLAN_TAG_USED */
@@ -1944,7 +1936,6 @@ static int cp_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)
#if CP_VLAN_TAG_USED
dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
dev->vlan_rx_register = cp_vlan_rx_register;
- dev->vlan_rx_kill_vid = cp_vlan_rx_kill_vid;
#endif
if (pci_using_dac)