linux/drivers/net
David S. Miller 9690c636ac niu: Fix races between up/down and get_stats.
As reported by Flavio Leitner, there is no synchronization to protect
NIU's get_stats method from seeing a NULL pointer in either
np->rx_rings or np->tx_rings.  In fact, as far as ->ndo_get_stats
is concerned, these values are set completely asynchronously.

Flavio attempted to fix this using a RW semaphore, which in fact
works most of the time.  However, dev_get_stats() can be invoked
from non-sleepable contexts in some cases, so this fix doesn't
work in all cases.

So instead, control the visibility of the np->{rx,tx}_ring pointers
when the device is being brough up, and use properties of the device
down sequence to our advantage.

In niu_get_stats(), return immediately if netif_running() is false.
The device shutdown sequence first marks the device as not running (by
clearing the __LINK_STATE_START bit), then it performans a
synchronize_rcu() (in dev_deactive_many()), and then finally it
invokes the driver ->ndo_stop() method.

This guarentees that all invocations of niu_get_stats() either see
netif_running() as false, or they see the channel pointers before
->ndo_stop() clears them out.

If netif_running() is true, protect against startup races by loading
the np->{rx,tx}_rings pointer into a local variable, and punting if
it is NULL.  Use ACCESS_ONCE to prevent the compiler from reloading
the pointer on us.

Also, during open, control the order in which the pointers and the
ring counts become visible globally using SMP write memory barriers.
We make sure the np->num_{rx,tx}_rings value is stable and visible
before np->{rx,tx}_rings is.

Such visibility control is not necessary on the niu_free_channels()
side because of the RCU sequencing that happens during device down as
described above.  We are always guarenteed that all niu_get_stats
calls are finished, or will see netif_running() false, by the time
->ndo_stop is invoked.

Reported-by: Flavio Leitner <fleitner@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-02-03 16:12:50 -08:00
..
appletalk Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
arcnet arcnet: fix signed bug in probe function 2010-07-18 15:07:15 -07:00
arm module: fix missing semicolons in MODULE macro usage 2011-01-24 14:32:54 +10:30
atl1c atl1c: Add missing PCI device ID 2011-02-02 15:02:08 -08:00
atl1e net: Fix drivers advertising HW_CSUM feature to use csum_start 2010-12-16 14:43:15 -08:00
atlx Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-04 11:57:25 -08:00
benet be2net: remove netif_stop_queue being called before register_netdev. 2011-02-01 15:41:59 -08:00
bna bna: Remove unnecessary memset(,0,) 2011-01-12 19:00:39 -08:00
bnx2x bnx2x: multicasts in NPAR mode 2011-02-01 14:05:30 -08:00
bonding Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2011-01-24 13:17:06 -08:00
caif Merge branch 'ux500-core' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into devel-stable 2011-01-03 10:31:58 +00:00
can CAN: softing driver depends on IOMEM 2011-01-31 13:20:21 -08:00
chelsio Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
cris net: cris/eth_v10: Use net_device_stats from struct net_device_stats 2010-12-06 13:24:47 -08:00
cxgb3 Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
cxgb4 cxgb4: fix reported state of interfaces without link 2011-01-20 16:45:55 -08:00
cxgb4vf cxgb4vf: recover from failure in cxgb4vf_open() 2011-01-11 15:44:40 -08:00
e1000 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-14 13:25:30 -08:00
e1000e Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-14 13:25:30 -08:00
ehea ehea: Increase the skb array usage 2011-01-11 14:03:09 -08:00
enic Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-12-17 12:27:22 -08:00
fs_enet of/net: Move of_get_mac_address() to a common source file. 2010-11-01 01:08:14 -04:00
hamradio hamradio: Resolve memory leak due to missing firmware release in add_mcs() 2011-01-09 15:45:48 -08:00
ibm_newemac Merge branch 'for-2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2011-01-07 16:58:04 -08:00
igb igb: Add Anti-spoofing feature support 2010-12-24 21:36:51 -08:00
igbvf igbvf: add support for i350 VF device 2010-12-24 21:38:47 -08:00
irda Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-19 20:25:45 -08:00
ixgb net: Fix drivers advertising HW_CSUM feature to use csum_start 2010-12-16 14:43:15 -08:00
ixgbe Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-14 13:25:30 -08:00
ixgbevf ixgbevf: Add X540 VF device support to the ixgbevf driver 2010-12-24 21:45:42 -08:00
ixp2000
mlx4 IB/mlx4: Handle protocol field in multicast table 2011-01-12 14:49:17 -08:00
myri10ge Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 2011-01-14 09:29:05 -08:00
netxen netxen: update driver version 4.0.75 2011-01-03 11:56:18 -08:00
octeon net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
pch_gbe pch_gbe: don't use flush_scheduled_work() 2011-01-24 23:19:10 -08:00
pcmcia axnet_cs: reduce delay time at ei_rx_overrun 2011-01-31 20:53:20 -08:00
phy Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-12-17 12:27:22 -08:00
qlcnic qlcnic: change module parameter permissions 2011-01-10 13:34:55 -08:00
qlge drivers/net/*/: Use static const 2010-12-21 02:16:10 -08:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-14 13:25:30 -08:00
skfp Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-04 11:57:25 -08:00
stmmac stmmac: unwind properly in stmmac_dvr_probe() 2010-12-21 10:53:19 -08:00
tile netdev: tilepro: Use is_unicast_ether_addr helper 2011-01-13 21:49:56 -08:00
tokenring drivers/net/*/: Use static const 2010-12-21 02:16:10 -08:00
tulip drivers/net/*/: Use static const 2010-12-21 02:16:10 -08:00
usb USB NET KL5KUSB101: Fix mem leak in error path of kaweth_download_firmware() 2011-01-24 23:20:24 -08:00
vmxnet3 vmxnet3: Dont allocate extra MSI-x vectors 2011-01-15 21:21:14 -08:00
vxge vxge: Fix wrong boolean operator 2011-02-01 12:30:23 -08:00
wan Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
wimax Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
wireless Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2011-02-01 13:08:59 -08:00
3c59x.c 3c59x: fix build failure on !CONFIG_PCI 2010-11-18 10:47:42 -08:00
3c501.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
3c501.h
3c503.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
3c503.h
3c505.c
3c505.h
3c507.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
3c509.c
3c515.c drivers/net: normalize TX_TIMEOUT 2010-11-09 09:17:56 -08:00
3c523.c 3c52x: remove IRQF_SAMPLE_RANDOM from legacy MCA drivers. 2010-10-19 02:32:09 -07:00
3c523.h
3c527.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
3c527.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
7990.c
7990.h
8139cp.c 8139cp: fix checksum broken 2010-11-17 12:21:14 -08:00
8139too.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
8390.c
8390.h
8390p.c
82596.c drivers/net: normalize TX_TIMEOUT 2010-11-09 09:17:56 -08:00
a2065.c
a2065.h
ac3200.c ac3200: fix error path 2010-07-11 18:15:08 -07:00
acenic.c drivers/net: avoid some skb->ip_summed initializations 2010-09-02 19:06:22 -07:00
acenic.h
amd8111e.c vlan: Don't check for vlan group before vlan_tx_tag_present. 2010-10-21 01:26:52 -07:00
amd8111e.h amd8111e: use net_device_stats from struct net_device 2010-08-21 23:09:36 -07:00
apne.c
ariadne.c
ariadne.h
at1700.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
atarilance.c drivers/net: normalize TX_TIMEOUT 2010-11-09 09:17:56 -08:00
atp.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
atp.h
au1000_eth.c net: au1000_eth: remove unused global variable. 2010-12-11 12:01:48 -08:00
au1000_eth.h au1000-eth: change multi-line comments style 2010-09-09 21:36:39 -07:00
ax88796.c drivers/net: Remove unnecessary casts of netdev_priv 2010-11-17 10:37:52 -08:00
b44.c b44: fix workarround for wap54g10 2010-12-01 11:11:31 -08:00
b44.h
bcm63xx_enet.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
bcm63xx_enet.h bcm63xx_enet: use netdev stats 2010-08-24 12:24:07 -07:00
bfin_mac.c netdev: bfin_mac: Remove is_multicast_ether_addr use in netdev_for_each_mc_addr 2011-01-13 21:48:25 -08:00
bfin_mac.h netdev: bfin_mac: let boards set vlan masks 2011-01-10 13:31:14 -08:00
bmac.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
bmac.h
bnx2_fw.h
bnx2.c bnx2: Eliminate AER error messages on systems not supporting it 2011-01-26 14:28:52 -08:00
bnx2.h bnx2: Eliminate AER error messages on systems not supporting it 2011-01-26 14:28:52 -08:00
bsd_comp.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
cassini.c cassini: Fix build bustage on x86. 2011-01-14 12:39:59 -08:00
cassini.h cassini: Use local-mac-address prom property for Cassini MAC address 2011-01-06 11:50:30 -08:00
cnic_defs.h cnic: Add FCoE support on 57712 2010-12-23 11:44:34 -08:00
cnic_if.h cnic: Do not call bnx2i when bnx2i is calling cnic_unregister_driver() 2011-01-03 19:08:07 -08:00
cnic.c cnic: Fix big endian bug 2011-01-26 14:26:00 -08:00
cnic.h cnic: Add FCoE support on 57712 2010-12-23 11:44:34 -08:00
cpmac.c drivers/net: avoid some skb->ip_summed initializations 2010-09-02 19:06:22 -07:00
cs89x0.c net: Removing dead ARCH_PNX010X 2010-07-19 13:32:57 -07:00
cs89x0.h cs89x0: Removing dead SH_HICOSH4 2010-07-14 13:40:36 -07:00
davinci_cpdma.c net: davinci_emac: separate out cpdma code 2010-09-24 07:40:31 -07:00
davinci_cpdma.h net: davinci_emac: separate out cpdma code 2010-09-24 07:40:31 -07:00
davinci_emac.c net: davinci_emac: cleanup unused cpdma code 2010-09-24 07:40:31 -07:00
davinci_mdio.c net: davinci_emac: separate out davinci mdio 2010-09-24 07:40:29 -07:00
de600.c
de600.h
de620.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
de620.h
declance.c drivers/net: Remove address use from assignments of function pointers 2010-08-25 15:35:43 -07:00
defxx.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
defxx.h
depca.c depca: Fix warnings 2011-02-01 13:19:07 -08:00
depca.h
dl2k.c dl2k: nulify fraginfo after unmap 2011-01-27 14:18:34 -08:00
dl2k.h
dm9000.c drivers/net: Remove unnecessary casts of netdev_priv 2010-11-17 10:37:52 -08:00
dm9000.h
dnet.c dnet: mark methods static and annotate for correct endianness 2010-10-16 11:13:20 -07:00
dnet.h
dummy.c dummy: percpu stats and lockless xmit 2010-09-29 13:23:30 -07:00
e100.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
e2100.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
eepro.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
eexpress.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
eexpress.h
enc28j60_hw.h
enc28j60.c enc28j60: Fix reading of transmit status vector 2011-01-31 20:56:54 -08:00
epic100.c epic100: hamachi: yellowfin: Fix skb allocation size 2010-12-25 19:37:49 -08:00
eql.c drivers/net/eql.c: prevent reading uninitialized stack memory 2010-09-16 21:54:59 -07:00
es3210.c
eth16i.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
ethoc.c ethoc: remove division from loops 2010-11-28 11:16:38 -08:00
ewrk3.c
ewrk3.h
fealnx.c drivers/net: Remove address use from assignments of function pointers 2010-08-25 15:35:43 -07:00
fec_mpc52xx_phy.c of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
fec_mpc52xx.c mpc52xx: cleanup locking 2010-11-16 11:39:08 -08:00
fec_mpc52xx.h
fec.c net/fec: add dual fec support for mx28 2011-01-09 15:42:56 -08:00
fec.h net/fec: add dual fec support for mx28 2011-01-09 15:42:56 -08:00
forcedeth.c forcedeth: Do not use legacy PCI power management 2011-01-09 16:20:29 -08:00
fsl_pq_mdio.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
fsl_pq_mdio.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
gianfar_ethtool.c gianfar: Do not call device_set_wakeup_enable() under a spinlock 2010-11-12 14:05:43 -08:00
gianfar_sysfs.c
gianfar.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-19 20:25:45 -08:00
gianfar.h net: remove dev_txq_stats_fold() 2011-01-13 21:44:34 -08:00
greth.c GRETH: resolve SMP issues and other problems 2011-01-14 12:45:55 -08:00
greth.h GRETH: handle frame error interrupts 2011-01-14 12:45:54 -08:00
hamachi.c epic100: hamachi: yellowfin: Fix skb allocation size 2010-12-25 19:37:49 -08:00
hp100.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
hp100.h
hp-plus.c
hp.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
hplance.c
hplance.h
hydra.c net/m68k: Hydra Ethernet - print whole resource instead of start address 2010-08-30 13:50:45 -07:00
ibmlana.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
ibmlana.h
ibmveth.c netdev: Use default implementation of ethtool_ops::get_link where possible 2010-12-10 15:55:24 -08:00
ibmveth.h ibmveth: Update module information and version 2010-09-06 18:21:56 -07:00
ifb.c ifb: add performance flags 2011-01-03 12:43:10 -08:00
ioc3-eth.c drivers/net: Remove address use from assignments of function pointers 2010-08-25 15:35:43 -07:00
ipg.c ipg.c: remove id [SUNDANCE, 0x1021] 2010-11-18 10:45:24 -08:00
ipg.h
iseries_veth.c iseries_veth: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
jazzsonic.c jazzsonic: free irq if sonic_open() fails 2010-07-12 20:21:44 -07:00
jme.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
jme.h jme: Advance version number 2010-10-21 03:52:11 -07:00
Kconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
korina.c
ks8842.c ks8842: Fix warnings on 64-bit. 2010-07-27 22:24:37 -07:00
ks8851_mll.c
ks8851.c ks8851: suspend resume support 2010-11-08 13:50:06 -08:00
ks8851.h
ksz884x.c ksz884x: Fix section mismatch derived from pcidev_init() 2011-01-03 13:27:37 -08:00
lance.c drivers/net: normalize TX_TIMEOUT 2010-11-09 09:17:56 -08:00
lasi_82596.c
lib8390.c drivers/net: Remove unnecessary casts of netdev_priv 2010-11-17 10:37:52 -08:00
lib82596.c drivers/net: normalize TX_TIMEOUT 2010-11-09 09:17:56 -08:00
LICENSE.SRC
ll_temac_main.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
ll_temac_mdio.c of: Fix missing includes - ll_temac 2010-09-01 08:55:23 -06:00
ll_temac.h
lne390.c
loopback.c net: add a core netdev->rx_dropped counter 2010-10-05 14:47:55 -07:00
lp486e.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
mac89x0.c mac89x0: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:18 -07:00
mac8390.c drivers/net: Remove address use from assignments of function pointers 2010-08-25 15:35:43 -07:00
macb.c macb: Don't re-enable interrupts while in polling mode 2010-10-25 12:14:11 -07:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c macsonic: free irqs if sonic_open() fails 2010-07-12 20:21:44 -07:00
macvlan.c macvlan: Introduce 'passthru' mode to takeover the underlying device 2010-11-22 08:24:29 -08:00
macvtap.c net: remove dev_txq_stats_fold() 2011-01-13 21:44:34 -08:00
Makefile drivers/net/tile/: on-chip network drivers for the tile architecture 2010-11-24 13:11:18 -05:00
mdio.c
meth.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
meth.h
mii.c
mipsnet.c NET: MIPSsim: Fix modpost warning. 2010-06-21 13:40:25 -07:00
mv643xx_eth.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
mvme147.c
myri_sbus.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
myri_sbus.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
natsemi.c drivers/net: Remove address use from assignments of function pointers 2010-08-25 15:35:43 -07:00
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c drivers/net: Remove unnecessary casts of netdev_priv 2010-11-17 10:37:52 -08:00
ne.c net/ne: fix memory leak in ne_drv_probe() 2010-07-05 20:08:05 -07:00
netconsole.c netconsole: clarify stopping message 2011-01-06 11:30:23 -08:00
netx-eth.c
ni52.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
ni52.h
ni65.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
ni65.h
ni5010.c
ni5010.h
niu.c niu: Fix races between up/down and get_stats. 2011-02-03 16:12:50 -08:00
niu.h of: kill struct of_device 2010-06-28 12:41:33 -07:00
ns83820.c ns83820: Avoid bad pointer deref in ns83820_init_one(). 2011-01-18 16:13:49 -08:00
pasemi_mac_ethtool.c ethtool: Provide a default implementation of ethtool_ops::get_drvinfo 2010-08-17 02:31:15 -07:00
pasemi_mac.c drivers/net: avoid some skb->ip_summed initializations 2010-09-02 19:06:22 -07:00
pasemi_mac.h
pci-skeleton.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
pcnet32.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
plip.c ipv4: ip_ptr cleanups 2010-09-15 22:06:05 -07:00
ppp_async.c net: ppp: use {get,put}_unaligned_be{16,32} 2011-01-10 16:13:33 -08:00
ppp_deflate.c net: ppp: use {get,put}_unaligned_be{16,32} 2011-01-10 16:13:33 -08:00
ppp_generic.c net: ppp: use {get,put}_unaligned_be{16,32} 2011-01-10 16:13:33 -08:00
ppp_mppe.c net: ppp: use {get,put}_unaligned_be{16,32} 2011-01-10 16:13:33 -08:00
ppp_mppe.h
ppp_synctty.c net: ppp: use {get,put}_unaligned_be{16,32} 2011-01-10 16:13:33 -08:00
pppoe.c pppoe.c: Fix kernel panic caused by __pppoe_xmit 2010-12-12 15:06:16 -08:00
pppox.c net: constify some ppp/pptp structs 2010-09-21 18:04:47 -07:00
pptp.c ipv4: Don't pre-seed hoplimit metric. 2010-12-12 22:08:17 -08:00
ps3_gelic_net.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
ps3_gelic_net.h
ps3_gelic_wireless.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
ps3_gelic_wireless.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
pxa168_eth.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
qla3xxx.c drivers/net/qla3xxx.c: Remove unnecessary casts of netdev_priv 2010-11-17 10:36:51 -08:00
qla3xxx.h
r6040.c net: r6040: Return proper error for r6040_init_one 2011-01-06 11:18:07 -08:00
r8169.c r8169: keep firmware in memory. 2011-01-13 21:49:57 -08:00
rionet.c rionet: use free_netdev(netdev) instead of kfree() 2010-09-26 18:54:33 -07:00
rrunner.c drivers/net: Remove address use from assignments of function pointers 2010-08-25 15:35:43 -07:00
rrunner.h
s2io-regs.h vxge: Update copyright information 2010-07-15 20:46:22 -07:00
s2io.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
s2io.h s2io: make strings at tables const 2010-12-11 11:46:36 -08:00
s6gmac.c
sb1000.c drivers/net/sb1000.c: delete double assignment 2010-10-27 12:23:20 -07:00
sb1250-mac.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
sc92031.c net: Fix too optimistic NETIF_F_HW_CSUM features 2010-12-06 12:59:04 -08:00
seeq8005.c
seeq8005.h
sgiseeq.c drivers/net: sgiseeq: fix return on error 2010-10-26 10:02:13 -07:00
sgiseeq.h
sh_eth.c drivers/net: remove unnecessary flush_scheduled_work() calls 2010-12-12 16:45:14 +01:00
sh_eth.h drivers/net: remove unnecessary flush_scheduled_work() calls 2010-12-12 16:45:14 +01:00
sis190.c drivers/net: don't use flush_scheduled_work() 2010-12-12 16:45:14 +01:00
sis900.c tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
sis900.h
skge.c skge: Do not use legacy PCI power management 2010-12-31 12:50:18 -08:00
skge.h
sky2.c sky2: convert to new VLAN model (v0.2) 2011-01-09 15:54:15 -08:00
sky2.h sky2: convert to new VLAN model (v0.2) 2011-01-09 15:54:15 -08:00
slhc.c slhc: Don't export symbols twice 2010-10-24 16:25:39 -07:00
slip.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
slip.h slip: Use net_device_stats from struct net_device 2010-08-27 19:25:59 -07:00
smc91x.c smc91x: Add missing #inclusion of <linux/irq.h> 2010-10-07 14:08:54 +01:00
smc91x.h Remove REDWOOD_[456] config options and conditional code 2010-07-26 09:06:04 -04:00
smc911x.c
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
smsc911x.c MN10300: ASB2364: Add support for SMSC911X and SMC911X 2010-10-27 17:28:58 +01:00
smsc911x.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2010-11-05 15:25:48 -07:00
smsc9420.c net: preserve ifreq parameter when calling generic phy_mii_ioctl(). 2010-07-18 19:15:25 -07:00
smsc9420.h
sni_82596.c
sonic.c
sonic.h
Space.c net/Space: delete orphaned externs from deleted drivers 2011-01-03 11:06:35 -08:00
spider_net_ethtool.c
spider_net.c drivers/net: avoid some skb->ip_summed initializations 2010-09-02 19:06:22 -07:00
spider_net.h
starfire.c starfire: Fix dma_addr_t size test for MIPS 2010-12-31 12:33:17 -08:00
stnic.c
sun3_82586.c sun3_82586: Use the instance of net_device_stats from net_device. 2010-07-05 19:41:11 -07:00
sun3_82586.h
sun3lance.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
sunbmac.c drivers/net: Remove address use from assignments of function pointers 2010-08-25 15:35:43 -07:00
sunbmac.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sundance.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-12-26 22:37:05 -08:00
sungem_phy.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
sungem_phy.h
sungem.c net: Fix drivers advertising HW_CSUM feature to use csum_start 2010-12-16 14:43:15 -08:00
sungem.h
sunhme.c net: Fix drivers advertising HW_CSUM feature to use csum_start 2010-12-16 14:43:15 -08:00
sunhme.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunlance.c netdev: Use default implementation of ethtool_ops::get_link where possible 2010-12-10 15:55:24 -08:00
sunqe.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
sunqe.h of/device: Replace struct of_device with struct platform_device 2010-08-06 09:25:50 -06:00
sunvnet.c drivers/net/sunvnet.c: Use pr_<level> and netdev_<level> 2010-08-19 00:04:34 -07:00
sunvnet.h
tc35815.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
tehuti.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
tehuti.h tehuti: Use net_device_stats from struct net_device 2010-08-19 17:19:05 -07:00
tg3.c tg3: Use new VLAN code 2011-01-26 13:13:10 -08:00
tg3.h tg3: Use new VLAN code 2011-01-26 13:13:10 -08:00
tlan.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-10-24 13:41:39 -07:00
tlan.h drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
tsi108_eth.c drivers/net: return operator cleanup 2010-09-26 18:34:29 -07:00
tsi108_eth.h
tun.c Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-01-13 10:05:56 -08:00
typhoon.c typhoon: memory corruption in typhoon_get_drvinfo() 2010-12-20 10:43:02 -08:00
typhoon.h drivers/net: use __packed annotation 2010-06-03 03:18:23 -07:00
ucc_geth_ethtool.c
ucc_geth.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-14 13:25:30 -08:00
ucc_geth.h ucc_geth: fix ucc halt problem in half duplex mode 2010-11-28 18:36:57 -08:00
veth.c net/veth: Fix packet checksumming 2010-12-16 14:41:35 -08:00
via-rhine.c via-rhine: hardware VLAN support 2010-12-08 10:23:36 -08:00
via-velocity.c fix comment typos concerning "consistent" 2010-12-10 16:04:28 +01:00
via-velocity.h via-velocity: forced 1000 Mbps mode support. 2010-10-16 11:13:23 -07:00
virtio_net.c net: Use skb_checksum_start_offset() 2010-12-16 14:43:14 -08:00
wd.c drivers/net/*.c: Use static const 2010-12-21 02:16:08 -08:00
xen-netfront.c xen: netfront: handle incoming GSO SKBs which are not CHECKSUM_PARTIAL 2011-01-27 14:17:35 -08:00
xilinx_emaclite.c Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6 2011-01-10 08:57:03 -08:00
xtsonic.c xtsonic: free irq if sonic_open() fails 2010-07-12 20:21:45 -07:00
yellowfin.c epic100: hamachi: yellowfin: Fix skb allocation size 2010-12-25 19:37:49 -08:00
znet.c drivers/net: normalize TX_TIMEOUT 2010-11-09 09:17:56 -08:00
zorro8390.c