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.

+45 -265
+8 -1
MAINTAINERS
··· 1487 L: linuxppc-embedded@ozlabs.org 1488 S: Maintained 1489 1490 FILE LOCKING (flock() and fcntl()/lockf()) 1491 P: Matthew Wilcox 1492 M: matthew@wil.cx ··· 3552 3553 TULIP NETWORK DRIVER 3554 P: Valerie Henson 3555 - M: val_henson@linux.intel.com 3556 L: tulip-users@lists.sourceforge.net 3557 W: http://sourceforge.net/projects/tulip/ 3558 S: Maintained
··· 1487 L: linuxppc-embedded@ozlabs.org 1488 S: Maintained 1489 1490 + FREESCALE QUICC ENGINE UCC ETHERNET DRIVER 1491 + P: Li Yang 1492 + M: leoli@freescale.com 1493 + L: netdev@vger.kernel.org 1494 + L: linuxppc-embedded@ozlabs.org 1495 + S: Maintained 1496 + 1497 FILE LOCKING (flock() and fcntl()/lockf()) 1498 P: Matthew Wilcox 1499 M: matthew@wil.cx ··· 3545 3546 TULIP NETWORK DRIVER 3547 P: Valerie Henson 3548 + M: val@nmt.edu 3549 L: tulip-users@lists.sourceforge.net 3550 W: http://sourceforge.net/projects/tulip/ 3551 S: Maintained
+4 -13
drivers/net/8139cp.c
··· 435 436 spin_lock_irqsave(&cp->lock, flags); 437 cp->vlgrp = grp; 438 - cp->cpcmd |= RxVlanOn; 439 - cpw16(CpCmd, cp->cpcmd); 440 - spin_unlock_irqrestore(&cp->lock, flags); 441 - } 442 443 - static void cp_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 444 - { 445 - struct cp_private *cp = netdev_priv(dev); 446 - unsigned long flags; 447 - 448 - spin_lock_irqsave(&cp->lock, flags); 449 - cp->cpcmd &= ~RxVlanOn; 450 cpw16(CpCmd, cp->cpcmd); 451 - vlan_group_set_device(cp->vlgrp, vid, NULL); 452 spin_unlock_irqrestore(&cp->lock, flags); 453 } 454 #endif /* CP_VLAN_TAG_USED */ ··· 1936 #if CP_VLAN_TAG_USED 1937 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1938 dev->vlan_rx_register = cp_vlan_rx_register; 1939 - dev->vlan_rx_kill_vid = cp_vlan_rx_kill_vid; 1940 #endif 1941 1942 if (pci_using_dac)
··· 435 436 spin_lock_irqsave(&cp->lock, flags); 437 cp->vlgrp = grp; 438 + if (grp) 439 + cp->cpcmd |= RxVlanOn; 440 + else 441 + cp->cpcmd &= ~RxVlanOn; 442 443 cpw16(CpCmd, cp->cpcmd); 444 spin_unlock_irqrestore(&cp->lock, flags); 445 } 446 #endif /* CP_VLAN_TAG_USED */ ··· 1944 #if CP_VLAN_TAG_USED 1945 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1946 dev->vlan_rx_register = cp_vlan_rx_register; 1947 #endif 1948 1949 if (pci_using_dac)
+3 -18
drivers/net/acenic.c
··· 480 #if ACENIC_DO_VLAN 481 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 482 dev->vlan_rx_register = ace_vlan_rx_register; 483 - dev->vlan_rx_kill_vid = ace_vlan_rx_kill_vid; 484 #endif 485 - if (1) { 486 - dev->tx_timeout = &ace_watchdog; 487 - dev->watchdog_timeo = 5*HZ; 488 - } 489 490 dev->open = &ace_open; 491 dev->stop = &ace_close; ··· 2278 2279 ap->vlgrp = grp; 2280 2281 - ace_unmask_irq(dev); 2282 - local_irq_restore(flags); 2283 - } 2284 - 2285 - 2286 - static void ace_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 2287 - { 2288 - struct ace_private *ap = netdev_priv(dev); 2289 - unsigned long flags; 2290 - 2291 - local_irq_save(flags); 2292 - ace_mask_irq(dev); 2293 - vlan_group_set_device(ap->vlgrp, vid, NULL); 2294 ace_unmask_irq(dev); 2295 local_irq_restore(flags); 2296 }
··· 480 #if ACENIC_DO_VLAN 481 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 482 dev->vlan_rx_register = ace_vlan_rx_register; 483 #endif 484 + 485 + dev->tx_timeout = &ace_watchdog; 486 + dev->watchdog_timeo = 5*HZ; 487 488 dev->open = &ace_open; 489 dev->stop = &ace_close; ··· 2280 2281 ap->vlgrp = grp; 2282 2283 ace_unmask_irq(dev); 2284 local_irq_restore(flags); 2285 }
-1
drivers/net/acenic.h
··· 787 static int read_eeprom_byte(struct net_device *dev, unsigned long offset); 788 #if ACENIC_DO_VLAN 789 static void ace_vlan_rx_register(struct net_device *dev, struct vlan_group *grp); 790 - static void ace_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid); 791 #endif 792 793 #endif /* _ACENIC_H_ */
··· 787 static int read_eeprom_byte(struct net_device *dev, unsigned long offset); 788 #if ACENIC_DO_VLAN 789 static void ace_vlan_rx_register(struct net_device *dev, struct vlan_group *grp); 790 #endif 791 792 #endif /* _ACENIC_H_ */
+1 -10
drivers/net/amd8111e.c
··· 1728 lp->vlgrp = grp; 1729 spin_unlock_irq(&lp->lock); 1730 } 1731 - 1732 - static void amd8111e_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 1733 - { 1734 - struct amd8111e_priv *lp = netdev_priv(dev); 1735 - spin_lock_irq(&lp->lock); 1736 - vlan_group_set_device(lp->vlgrp, vid, NULL); 1737 - spin_unlock_irq(&lp->lock); 1738 - } 1739 #endif 1740 static int amd8111e_enable_magicpkt(struct amd8111e_priv* lp) 1741 { 1742 writel( VAL1|MPPLBA, lp->mmio + CMD3); ··· 1989 #if AMD8111E_VLAN_TAG_USED 1990 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX ; 1991 dev->vlan_rx_register =amd8111e_vlan_rx_register; 1992 - dev->vlan_rx_kill_vid = amd8111e_vlan_rx_kill_vid; 1993 #endif 1994 1995 lp = netdev_priv(dev); ··· 2041 #if AMD8111E_VLAN_TAG_USED 2042 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2043 dev->vlan_rx_register =amd8111e_vlan_rx_register; 2044 - dev->vlan_rx_kill_vid = amd8111e_vlan_rx_kill_vid; 2045 #endif 2046 /* Probe the external PHY */ 2047 amd8111e_probe_ext_phy(dev);
··· 1728 lp->vlgrp = grp; 1729 spin_unlock_irq(&lp->lock); 1730 } 1731 #endif 1732 + 1733 static int amd8111e_enable_magicpkt(struct amd8111e_priv* lp) 1734 { 1735 writel( VAL1|MPPLBA, lp->mmio + CMD3); ··· 1996 #if AMD8111E_VLAN_TAG_USED 1997 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX ; 1998 dev->vlan_rx_register =amd8111e_vlan_rx_register; 1999 #endif 2000 2001 lp = netdev_priv(dev); ··· 2049 #if AMD8111E_VLAN_TAG_USED 2050 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2051 dev->vlan_rx_register =amd8111e_vlan_rx_register; 2052 #endif 2053 /* Probe the external PHY */ 2054 amd8111e_probe_ext_phy(dev);
+1 -32
drivers/net/atl1/atl1_main.c
··· 1229 spin_unlock_irqrestore(&adapter->lock, flags); 1230 } 1231 1232 - /* FIXME: justify or remove -- CHS */ 1233 - static void atl1_vlan_rx_add_vid(struct net_device *netdev, u16 vid) 1234 - { 1235 - /* We don't do Vlan filtering */ 1236 - return; 1237 - } 1238 - 1239 - /* FIXME: this looks wrong too -- CHS */ 1240 - static void atl1_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) 1241 - { 1242 - struct atl1_adapter *adapter = netdev_priv(netdev); 1243 - unsigned long flags; 1244 - 1245 - spin_lock_irqsave(&adapter->lock, flags); 1246 - /* atl1_irq_disable(adapter); */ 1247 - vlan_group_set_device(adapter->vlgrp, vid, NULL); 1248 - /* atl1_irq_enable(adapter); */ 1249 - spin_unlock_irqrestore(&adapter->lock, flags); 1250 - /* We don't do Vlan filtering */ 1251 - return; 1252 - } 1253 - 1254 static void atl1_restore_vlan(struct atl1_adapter *adapter) 1255 { 1256 atl1_vlan_rx_register(adapter->netdev, adapter->vlgrp); 1257 - if (adapter->vlgrp) { 1258 - u16 vid; 1259 - for (vid = 0; vid < VLAN_GROUP_ARRAY_LEN; vid++) { 1260 - if (!vlan_group_get_device(adapter->vlgrp, vid)) 1261 - continue; 1262 - atl1_vlan_rx_add_vid(adapter->netdev, vid); 1263 - } 1264 - } 1265 } 1266 1267 static u16 tpd_avail(struct atl1_tpd_ring *tpd_ring) ··· 2173 netdev->poll_controller = atl1_poll_controller; 2174 #endif 2175 netdev->vlan_rx_register = atl1_vlan_rx_register; 2176 - netdev->vlan_rx_add_vid = atl1_vlan_rx_add_vid; 2177 - netdev->vlan_rx_kill_vid = atl1_vlan_rx_kill_vid; 2178 netdev->ethtool_ops = &atl1_ethtool_ops; 2179 adapter->bd_number = cards_found; 2180 adapter->pci_using_64 = pci_using_64;
··· 1229 spin_unlock_irqrestore(&adapter->lock, flags); 1230 } 1231 1232 static void atl1_restore_vlan(struct atl1_adapter *adapter) 1233 { 1234 atl1_vlan_rx_register(adapter->netdev, adapter->vlgrp); 1235 } 1236 1237 static u16 tpd_avail(struct atl1_tpd_ring *tpd_ring) ··· 2203 netdev->poll_controller = atl1_poll_controller; 2204 #endif 2205 netdev->vlan_rx_register = atl1_vlan_rx_register; 2206 + 2207 netdev->ethtool_ops = &atl1_ethtool_ops; 2208 adapter->bd_number = cards_found; 2209 adapter->pci_using_64 = pci_using_64;
-14
drivers/net/bnx2.c
··· 4786 4787 bnx2_netif_start(bp); 4788 } 4789 - 4790 - /* Called with rtnl_lock */ 4791 - static void 4792 - bnx2_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid) 4793 - { 4794 - struct bnx2 *bp = netdev_priv(dev); 4795 - 4796 - bnx2_netif_stop(bp); 4797 - vlan_group_set_device(bp->vlgrp, vid, NULL); 4798 - bnx2_set_rx_mode(dev); 4799 - 4800 - bnx2_netif_start(bp); 4801 - } 4802 #endif 4803 4804 /* Called with netif_tx_lock. ··· 6440 dev->watchdog_timeo = TX_TIMEOUT; 6441 #ifdef BCM_VLAN 6442 dev->vlan_rx_register = bnx2_vlan_rx_register; 6443 - dev->vlan_rx_kill_vid = bnx2_vlan_rx_kill_vid; 6444 #endif 6445 dev->poll = bnx2_poll; 6446 dev->ethtool_ops = &bnx2_ethtool_ops;
··· 4786 4787 bnx2_netif_start(bp); 4788 } 4789 #endif 4790 4791 /* Called with netif_tx_lock. ··· 6453 dev->watchdog_timeo = TX_TIMEOUT; 6454 #ifdef BCM_VLAN 6455 dev->vlan_rx_register = bnx2_vlan_rx_register; 6456 #endif 6457 dev->poll = bnx2_poll; 6458 dev->ethtool_ops = &bnx2_ethtool_ops;
-10
drivers/net/chelsio/cxgb2.c
··· 883 t1_set_vlan_accel(adapter, grp != NULL); 884 spin_unlock_irq(&adapter->async_lock); 885 } 886 - 887 - static void vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 888 - { 889 - struct adapter *adapter = dev->priv; 890 - 891 - spin_lock_irq(&adapter->async_lock); 892 - vlan_group_set_device(adapter->vlan_grp, vid, NULL); 893 - spin_unlock_irq(&adapter->async_lock); 894 - } 895 #endif 896 897 #ifdef CONFIG_NET_POLL_CONTROLLER ··· 1090 netdev->features |= 1091 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1092 netdev->vlan_rx_register = vlan_rx_register; 1093 - netdev->vlan_rx_kill_vid = vlan_rx_kill_vid; 1094 #endif 1095 1096 /* T204: disable TSO */
··· 883 t1_set_vlan_accel(adapter, grp != NULL); 884 spin_unlock_irq(&adapter->async_lock); 885 } 886 #endif 887 888 #ifdef CONFIG_NET_POLL_CONTROLLER ··· 1099 netdev->features |= 1100 NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1101 netdev->vlan_rx_register = vlan_rx_register; 1102 #endif 1103 1104 /* T204: disable TSO */
-6
drivers/net/cxgb3/cxgb3_main.c
··· 2067 t3_synchronize_rx(adapter, pi); 2068 } 2069 2070 - static void vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 2071 - { 2072 - /* nothing */ 2073 - } 2074 - 2075 #ifdef CONFIG_NET_POLL_CONTROLLER 2076 static void cxgb_netpoll(struct net_device *dev) 2077 { ··· 2404 2405 netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2406 netdev->vlan_rx_register = vlan_rx_register; 2407 - netdev->vlan_rx_kill_vid = vlan_rx_kill_vid; 2408 2409 netdev->open = cxgb_open; 2410 netdev->stop = cxgb_close;
··· 2067 t3_synchronize_rx(adapter, pi); 2068 } 2069 2070 #ifdef CONFIG_NET_POLL_CONTROLLER 2071 static void cxgb_netpoll(struct net_device *dev) 2072 { ··· 2409 2410 netdev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2411 netdev->vlan_rx_register = vlan_rx_register; 2412 2413 netdev->open = cxgb_open; 2414 netdev->stop = cxgb_close;
+7 -4
drivers/net/e1000/e1000_main.c
··· 1142 !e1000_check_mng_mode(&adapter->hw)) 1143 e1000_get_hw_control(adapter); 1144 1145 - strcpy(netdev->name, "eth%d"); 1146 - if ((err = register_netdev(netdev))) 1147 - goto err_register; 1148 - 1149 /* tell the stack to leave us alone until e1000_open() is called */ 1150 netif_carrier_off(netdev); 1151 netif_stop_queue(netdev); 1152 1153 DPRINTK(PROBE, INFO, "Intel(R) PRO/1000 Network Connection\n"); 1154
··· 1142 !e1000_check_mng_mode(&adapter->hw)) 1143 e1000_get_hw_control(adapter); 1144 1145 /* tell the stack to leave us alone until e1000_open() is called */ 1146 netif_carrier_off(netdev); 1147 netif_stop_queue(netdev); 1148 + #ifdef CONFIG_E1000_NAPI 1149 + netif_poll_disable(netdev); 1150 + #endif 1151 + 1152 + strcpy(netdev->name, "eth%d"); 1153 + if ((err = register_netdev(netdev))) 1154 + goto err_register; 1155 1156 DPRINTK(PROBE, INFO, "Intel(R) PRO/1000 Network Connection\n"); 1157
+1 -7
drivers/net/forcedeth.c
··· 4605 writel(np->txrxctl_bits, get_hwbase(dev) + NvRegTxRxControl); 4606 4607 spin_unlock_irq(&np->lock); 4608 - }; 4609 - 4610 - static void nv_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 4611 - { 4612 - /* nothing to do */ 4613 - }; 4614 4615 /* The mgmt unit and driver use a semaphore to access the phy during init */ 4616 static int nv_mgmt_acquire_sema(struct net_device *dev) ··· 4951 np->vlanctl_bits = NVREG_VLANCONTROL_ENABLE; 4952 dev->features |= NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX; 4953 dev->vlan_rx_register = nv_vlan_rx_register; 4954 - dev->vlan_rx_kill_vid = nv_vlan_rx_kill_vid; 4955 } 4956 4957 np->msi_flags = 0;
··· 4605 writel(np->txrxctl_bits, get_hwbase(dev) + NvRegTxRxControl); 4606 4607 spin_unlock_irq(&np->lock); 4608 + } 4609 4610 /* The mgmt unit and driver use a semaphore to access the phy during init */ 4611 static int nv_mgmt_acquire_sema(struct net_device *dev) ··· 4956 np->vlanctl_bits = NVREG_VLANCONTROL_ENABLE; 4957 dev->features |= NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_TX; 4958 dev->vlan_rx_register = nv_vlan_rx_register; 4959 } 4960 4961 np->msi_flags = 0;
-16
drivers/net/gianfar.c
··· 140 static int gfar_process_frame(struct net_device *dev, struct sk_buff *skb, int length); 141 static void gfar_vlan_rx_register(struct net_device *netdev, 142 struct vlan_group *grp); 143 - static void gfar_vlan_rx_kill_vid(struct net_device *netdev, uint16_t vid); 144 void gfar_halt(struct net_device *dev); 145 void gfar_start(struct net_device *dev); 146 static void gfar_clear_exact_match(struct net_device *dev); ··· 283 284 if (priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_VLAN) { 285 dev->vlan_rx_register = gfar_vlan_rx_register; 286 - dev->vlan_rx_kill_vid = gfar_vlan_rx_kill_vid; 287 288 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 289 ··· 1130 1131 spin_unlock_irqrestore(&priv->rxlock, flags); 1132 } 1133 - 1134 - 1135 - static void gfar_vlan_rx_kill_vid(struct net_device *dev, uint16_t vid) 1136 - { 1137 - struct gfar_private *priv = netdev_priv(dev); 1138 - unsigned long flags; 1139 - 1140 - spin_lock_irqsave(&priv->rxlock, flags); 1141 - 1142 - vlan_group_set_device(priv->vlgrp, vid, NULL); 1143 - 1144 - spin_unlock_irqrestore(&priv->rxlock, flags); 1145 - } 1146 - 1147 1148 static int gfar_change_mtu(struct net_device *dev, int new_mtu) 1149 {
··· 140 static int gfar_process_frame(struct net_device *dev, struct sk_buff *skb, int length); 141 static void gfar_vlan_rx_register(struct net_device *netdev, 142 struct vlan_group *grp); 143 void gfar_halt(struct net_device *dev); 144 void gfar_start(struct net_device *dev); 145 static void gfar_clear_exact_match(struct net_device *dev); ··· 284 285 if (priv->einfo->device_flags & FSL_GIANFAR_DEV_HAS_VLAN) { 286 dev->vlan_rx_register = gfar_vlan_rx_register; 287 288 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 289 ··· 1132 1133 spin_unlock_irqrestore(&priv->rxlock, flags); 1134 } 1135 1136 static int gfar_change_mtu(struct net_device *dev, int new_mtu) 1137 {
+1
drivers/net/myri10ge/myri10ge.c
··· 1472 .set_sg = ethtool_op_set_sg, 1473 .get_tso = ethtool_op_get_tso, 1474 .set_tso = ethtool_op_set_tso, 1475 .get_strings = myri10ge_get_strings, 1476 .get_stats_count = myri10ge_get_stats_count, 1477 .get_ethtool_stats = myri10ge_get_ethtool_stats,
··· 1472 .set_sg = ethtool_op_set_sg, 1473 .get_tso = ethtool_op_get_tso, 1474 .set_tso = ethtool_op_set_tso, 1475 + .get_link = ethtool_op_get_link, 1476 .get_strings = myri10ge_get_strings, 1477 .get_stats_count = myri10ge_get_stats_count, 1478 .get_ethtool_stats = myri10ge_get_ethtool_stats,
-2
drivers/net/netxen/netxen_nic_main.c
··· 654 if (adapter->portnum == 0) 655 netxen_free_adapter_offload(adapter); 656 657 - if (adapter->irq) 658 - free_irq(adapter->irq, adapter); 659 if(adapter->portnum == 0) { 660 /* leave the hw in the same state as reboot */ 661 writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE));
··· 654 if (adapter->portnum == 0) 655 netxen_free_adapter_offload(adapter); 656 657 if(adapter->portnum == 0) { 658 /* leave the hw in the same state as reboot */ 659 writel(0, NETXEN_CRB_NORMALIZE(adapter, CRB_CMDPEG_STATE));
-12
drivers/net/ns83820.c
··· 506 spin_unlock(&dev->tx_lock); 507 spin_unlock_irq(&dev->misc_lock); 508 } 509 - 510 - static void ns83820_vlan_rx_kill_vid(struct net_device *ndev, unsigned short vid) 511 - { 512 - struct ns83820 *dev = PRIV(ndev); 513 - 514 - spin_lock_irq(&dev->misc_lock); 515 - spin_lock(&dev->tx_lock); 516 - vlan_group_set_device(dev->vlgrp, vid, NULL); 517 - spin_unlock(&dev->tx_lock); 518 - spin_unlock_irq(&dev->misc_lock); 519 - } 520 #endif 521 522 /* Packet Receiver ··· 2072 /* We also support hardware vlan acceleration */ 2073 ndev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2074 ndev->vlan_rx_register = ns83820_vlan_rx_register; 2075 - ndev->vlan_rx_kill_vid = ns83820_vlan_rx_kill_vid; 2076 #endif 2077 2078 if (using_dac) {
··· 506 spin_unlock(&dev->tx_lock); 507 spin_unlock_irq(&dev->misc_lock); 508 } 509 #endif 510 511 /* Packet Receiver ··· 2083 /* We also support hardware vlan acceleration */ 2084 ndev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 2085 ndev->vlan_rx_register = ns83820_vlan_rx_register; 2086 #endif 2087 2088 if (using_dac) {
+1 -1
drivers/net/qla3xxx.c
··· 4044 if (pci_using_dac) 4045 ndev->features |= NETIF_F_HIGHDMA; 4046 if (qdev->device_id == QL3032_DEVICE_ID) 4047 - ndev->features |= (NETIF_F_HW_CSUM | NETIF_F_SG); 4048 4049 qdev->mem_map_registers = 4050 ioremap_nocache(pci_resource_start(pdev, 1),
··· 4044 if (pci_using_dac) 4045 ndev->features |= NETIF_F_HIGHDMA; 4046 if (qdev->device_id == QL3032_DEVICE_ID) 4047 + ndev->features |= NETIF_F_IP_CSUM | NETIF_F_SG; 4048 4049 qdev->mem_map_registers = 4050 ioremap_nocache(pci_resource_start(pdev, 1),
-11
drivers/net/r8169.c
··· 886 spin_unlock_irqrestore(&tp->lock, flags); 887 } 888 889 - static void rtl8169_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 890 - { 891 - struct rtl8169_private *tp = netdev_priv(dev); 892 - unsigned long flags; 893 - 894 - spin_lock_irqsave(&tp->lock, flags); 895 - vlan_group_set_device(tp->vlgrp, vid, NULL); 896 - spin_unlock_irqrestore(&tp->lock, flags); 897 - } 898 - 899 static int rtl8169_rx_vlan_skb(struct rtl8169_private *tp, struct RxDesc *desc, 900 struct sk_buff *skb) 901 { ··· 1661 #ifdef CONFIG_R8169_VLAN 1662 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1663 dev->vlan_rx_register = rtl8169_vlan_rx_register; 1664 - dev->vlan_rx_kill_vid = rtl8169_vlan_rx_kill_vid; 1665 #endif 1666 1667 #ifdef CONFIG_NET_POLL_CONTROLLER
··· 886 spin_unlock_irqrestore(&tp->lock, flags); 887 } 888 889 static int rtl8169_rx_vlan_skb(struct rtl8169_private *tp, struct RxDesc *desc, 890 struct sk_buff *skb) 891 { ··· 1671 #ifdef CONFIG_R8169_VLAN 1672 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 1673 dev->vlan_rx_register = rtl8169_vlan_rx_register; 1674 #endif 1675 1676 #ifdef CONFIG_NET_POLL_CONTROLLER
-12
drivers/net/s2io.c
··· 340 /* A flag indicating whether 'RX_PA_CFG_STRIP_VLAN_TAG' bit is set or not */ 341 static int vlan_strip_flag; 342 343 - /* Unregister the vlan */ 344 - static void s2io_vlan_rx_kill_vid(struct net_device *dev, unsigned long vid) 345 - { 346 - struct s2io_nic *nic = dev->priv; 347 - unsigned long flags; 348 - 349 - spin_lock_irqsave(&nic->tx_lock, flags); 350 - vlan_group_set_device(nic->vlgrp, vid, NULL); 351 - spin_unlock_irqrestore(&nic->tx_lock, flags); 352 - } 353 - 354 /* 355 * Constants to be programmed into the Xena's registers, to configure 356 * the XAUI. ··· 7401 SET_ETHTOOL_OPS(dev, &netdev_ethtool_ops); 7402 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 7403 dev->vlan_rx_register = s2io_vlan_rx_register; 7404 - dev->vlan_rx_kill_vid = (void *)s2io_vlan_rx_kill_vid; 7405 7406 /* 7407 * will use eth_mac_addr() for dev->set_mac_address
··· 340 /* A flag indicating whether 'RX_PA_CFG_STRIP_VLAN_TAG' bit is set or not */ 341 static int vlan_strip_flag; 342 343 /* 344 * Constants to be programmed into the Xena's registers, to configure 345 * the XAUI. ··· 7412 SET_ETHTOOL_OPS(dev, &netdev_ethtool_ops); 7413 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 7414 dev->vlan_rx_register = s2io_vlan_rx_register; 7415 7416 /* 7417 * will use eth_mac_addr() for dev->set_mac_address
+13 -18
drivers/net/sky2.c
··· 1049 u16 port = sky2->port; 1050 1051 netif_tx_lock_bh(dev); 1052 1053 - sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), RX_VLAN_STRIP_ON); 1054 - sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T), TX_VLAN_TAG_ON); 1055 sky2->vlgrp = grp; 1056 1057 - netif_tx_unlock_bh(dev); 1058 - } 1059 - 1060 - static void sky2_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 1061 - { 1062 - struct sky2_port *sky2 = netdev_priv(dev); 1063 - struct sky2_hw *hw = sky2->hw; 1064 - u16 port = sky2->port; 1065 - 1066 - netif_tx_lock_bh(dev); 1067 - 1068 - sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), RX_VLAN_STRIP_OFF); 1069 - sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T), TX_VLAN_TAG_OFF); 1070 - vlan_group_set_device(sky2->vlgrp, vid, NULL); 1071 - 1072 netif_tx_unlock_bh(dev); 1073 } 1074 #endif ··· 3480 #ifdef SKY2_VLAN_TAG_USED 3481 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 3482 dev->vlan_rx_register = sky2_vlan_rx_register; 3483 - dev->vlan_rx_kill_vid = sky2_vlan_rx_kill_vid; 3484 #endif 3485 3486 /* read the mac address */
··· 1049 u16 port = sky2->port; 1050 1051 netif_tx_lock_bh(dev); 1052 + netif_poll_disable(sky2->hw->dev[0]); 1053 1054 sky2->vlgrp = grp; 1055 + if (grp) { 1056 + sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), 1057 + RX_VLAN_STRIP_ON); 1058 + sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T), 1059 + TX_VLAN_TAG_ON); 1060 + } else { 1061 + sky2_write32(hw, SK_REG(port, RX_GMF_CTRL_T), 1062 + RX_VLAN_STRIP_OFF); 1063 + sky2_write32(hw, SK_REG(port, TX_GMF_CTRL_T), 1064 + TX_VLAN_TAG_OFF); 1065 + } 1066 1067 + netif_poll_enable(sky2->hw->dev[0]); 1068 netif_tx_unlock_bh(dev); 1069 } 1070 #endif ··· 3484 #ifdef SKY2_VLAN_TAG_USED 3485 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 3486 dev->vlan_rx_register = sky2_vlan_rx_register; 3487 #endif 3488 3489 /* read the mac address */
+1 -4
drivers/net/smc91x.h
··· 281 282 #elif defined(CONFIG_SUPERH) 283 284 - #if defined(CONFIG_SH_7780_SOLUTION_ENGINE) || defined(CONFIG_SH_7722_SOLUTION_ENGINE) 285 #define SMC_CAN_USE_8BIT 0 286 #define SMC_CAN_USE_16BIT 1 287 #define SMC_CAN_USE_32BIT 0 288 #define SMC_IO_SHIFT 0 289 #define SMC_NOWAIT 1 290 291 - #define SMC_inb(a, r) (inw((a) + ((r)&~1)) >> (8*(r%2)))&0xff 292 #define SMC_inw(a, r) inw((a) + (r)) 293 - #define SMC_outb(v, a, r) outw(((inw((a)+((r)&~1))*(0xff<<8*(r%2)))) | ((v)<<(8*(r&2)))), (a) + ((r)&~1)) 294 - 295 #define SMC_outw(v, a, r) outw(v, (a) + (r)) 296 #define SMC_insw(a, r, p, l) insw((a) + (r), p, l) 297 #define SMC_outsw(a, r, p, l) outsw((a) + (r), p, l)
··· 281 282 #elif defined(CONFIG_SUPERH) 283 284 + #ifdef CONFIG_SOLUTION_ENGINE 285 #define SMC_CAN_USE_8BIT 0 286 #define SMC_CAN_USE_16BIT 1 287 #define SMC_CAN_USE_32BIT 0 288 #define SMC_IO_SHIFT 0 289 #define SMC_NOWAIT 1 290 291 #define SMC_inw(a, r) inw((a) + (r)) 292 #define SMC_outw(v, a, r) outw(v, (a) + (r)) 293 #define SMC_insw(a, r, p, l) insw((a) + (r), p, l) 294 #define SMC_outsw(a, r, p, l) outsw((a) + (r), p, l)
-40
drivers/net/spider_net.c
··· 1191 } 1192 1193 /** 1194 - * spider_net_vlan_rx_reg - initializes VLAN structures in the driver and card 1195 - * @netdev: interface device structure 1196 - * @grp: vlan_group structure that is registered (NULL on destroying interface) 1197 - */ 1198 - static void 1199 - spider_net_vlan_rx_reg(struct net_device *netdev, struct vlan_group *grp) 1200 - { 1201 - /* further enhancement... yet to do */ 1202 - return; 1203 - } 1204 - 1205 - /** 1206 - * spider_net_vlan_rx_add - adds VLAN id to the card filter 1207 - * @netdev: interface device structure 1208 - * @vid: VLAN id to add 1209 - */ 1210 - static void 1211 - spider_net_vlan_rx_add(struct net_device *netdev, uint16_t vid) 1212 - { 1213 - /* further enhancement... yet to do */ 1214 - /* add vid to card's VLAN filter table */ 1215 - return; 1216 - } 1217 - 1218 - /** 1219 - * spider_net_vlan_rx_kill - removes VLAN id to the card filter 1220 - * @netdev: interface device structure 1221 - * @vid: VLAN id to remove 1222 - */ 1223 - static void 1224 - spider_net_vlan_rx_kill(struct net_device *netdev, uint16_t vid) 1225 - { 1226 - /* further enhancement... yet to do */ 1227 - /* remove vid from card's VLAN filter table */ 1228 - } 1229 - 1230 - /** 1231 * spider_net_get_stats - get interface statistics 1232 * @netdev: interface device structure 1233 * ··· 2140 netdev->poll = &spider_net_poll; 2141 netdev->weight = SPIDER_NET_NAPI_WEIGHT; 2142 /* HW VLAN */ 2143 - netdev->vlan_rx_register = &spider_net_vlan_rx_reg; 2144 - netdev->vlan_rx_add_vid = &spider_net_vlan_rx_add; 2145 - netdev->vlan_rx_kill_vid = &spider_net_vlan_rx_kill; 2146 #ifdef CONFIG_NET_POLL_CONTROLLER 2147 /* poll controller */ 2148 netdev->poll_controller = &spider_net_poll_controller;
··· 1191 } 1192 1193 /** 1194 * spider_net_get_stats - get interface statistics 1195 * @netdev: interface device structure 1196 * ··· 2177 netdev->poll = &spider_net_poll; 2178 netdev->weight = SPIDER_NET_NAPI_WEIGHT; 2179 /* HW VLAN */ 2180 #ifdef CONFIG_NET_POLL_CONTROLLER 2181 /* poll controller */ 2182 netdev->poll_controller = &spider_net_poll_controller;
-16
drivers/net/tg3.c
··· 9121 if (netif_running(dev)) 9122 tg3_netif_start(tp); 9123 } 9124 - 9125 - static void tg3_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 9126 - { 9127 - struct tg3 *tp = netdev_priv(dev); 9128 - 9129 - if (netif_running(dev)) 9130 - tg3_netif_stop(tp); 9131 - 9132 - tg3_full_lock(tp, 0); 9133 - vlan_group_set_device(tp->vlgrp, vid, NULL); 9134 - tg3_full_unlock(tp); 9135 - 9136 - if (netif_running(dev)) 9137 - tg3_netif_start(tp); 9138 - } 9139 #endif 9140 9141 static int tg3_get_coalesce(struct net_device *dev, struct ethtool_coalesce *ec) ··· 11763 #if TG3_VLAN_TAG_USED 11764 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 11765 dev->vlan_rx_register = tg3_vlan_rx_register; 11766 - dev->vlan_rx_kill_vid = tg3_vlan_rx_kill_vid; 11767 #endif 11768 11769 tp = netdev_priv(dev);
··· 9121 if (netif_running(dev)) 9122 tg3_netif_start(tp); 9123 } 9124 #endif 9125 9126 static int tg3_get_coalesce(struct net_device *dev, struct ethtool_coalesce *ec) ··· 11778 #if TG3_VLAN_TAG_USED 11779 dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; 11780 dev->vlan_rx_register = tg3_vlan_rx_register; 11781 #endif 11782 11783 tp = netdev_priv(dev);
+1 -10
drivers/net/typhoon.c
··· 741 spin_unlock_bh(&tp->state_lock); 742 } 743 744 - static void 745 - typhoon_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid) 746 - { 747 - struct typhoon *tp = netdev_priv(dev); 748 - spin_lock_bh(&tp->state_lock); 749 - vlan_group_set_device(tp->vlgrp, vid, NULL); 750 - spin_unlock_bh(&tp->state_lock); 751 - } 752 - 753 static inline void 754 typhoon_tso_fill(struct sk_buff *skb, struct transmit_ring *txRing, 755 u32 ring_dma) ··· 2533 dev->get_stats = typhoon_get_stats; 2534 dev->set_mac_address = typhoon_set_mac_address; 2535 dev->vlan_rx_register = typhoon_vlan_rx_register; 2536 - dev->vlan_rx_kill_vid = typhoon_vlan_rx_kill_vid; 2537 SET_ETHTOOL_OPS(dev, &typhoon_ethtool_ops); 2538 2539 /* We can handle scatter gather, up to 16 entries, and
··· 741 spin_unlock_bh(&tp->state_lock); 742 } 743 744 static inline void 745 typhoon_tso_fill(struct sk_buff *skb, struct transmit_ring *txRing, 746 u32 ring_dma) ··· 2542 dev->get_stats = typhoon_get_stats; 2543 dev->set_mac_address = typhoon_set_mac_address; 2544 dev->vlan_rx_register = typhoon_vlan_rx_register; 2545 + 2546 SET_ETHTOOL_OPS(dev, &typhoon_ethtool_ops); 2547 2548 /* We can handle scatter gather, up to 16 entries, and
+3 -7
net/8021q/vlan.c
··· 240 * interlock with HW accelerating devices or SW vlan 241 * input packet processing. 242 */ 243 - if (real_dev->features & 244 - (NETIF_F_HW_VLAN_RX | NETIF_F_HW_VLAN_FILTER)) { 245 real_dev->vlan_rx_kill_vid(real_dev, vlan_id); 246 - } 247 248 vlan_group_set_device(grp, vlan_id, NULL); 249 synchronize_net(); ··· 407 } 408 409 if ((real_dev->features & NETIF_F_HW_VLAN_RX) && 410 - (real_dev->vlan_rx_register == NULL || 411 - real_dev->vlan_rx_kill_vid == NULL)) { 412 printk(VLAN_DBG "%s: Device %s has buggy VLAN hw accel.\n", 413 __FUNCTION__, real_dev->name); 414 goto out_put_dev; 415 } 416 417 if ((real_dev->features & NETIF_F_HW_VLAN_FILTER) && 418 - (real_dev->vlan_rx_add_vid == NULL || 419 - real_dev->vlan_rx_kill_vid == NULL)) { 420 printk(VLAN_DBG "%s: Device %s has buggy VLAN hw accel.\n", 421 __FUNCTION__, real_dev->name); 422 goto out_put_dev;
··· 240 * interlock with HW accelerating devices or SW vlan 241 * input packet processing. 242 */ 243 + if (real_dev->features & NETIF_F_HW_VLAN_FILTER) 244 real_dev->vlan_rx_kill_vid(real_dev, vlan_id); 245 246 vlan_group_set_device(grp, vlan_id, NULL); 247 synchronize_net(); ··· 409 } 410 411 if ((real_dev->features & NETIF_F_HW_VLAN_RX) && 412 + !real_dev->vlan_rx_register) { 413 printk(VLAN_DBG "%s: Device %s has buggy VLAN hw accel.\n", 414 __FUNCTION__, real_dev->name); 415 goto out_put_dev; 416 } 417 418 if ((real_dev->features & NETIF_F_HW_VLAN_FILTER) && 419 + (!real_dev->vlan_rx_add_vid || !real_dev->vlan_rx_kill_vid)) { 420 printk(VLAN_DBG "%s: Device %s has buggy VLAN hw accel.\n", 421 __FUNCTION__, real_dev->name); 422 goto out_put_dev;