linux/drivers/net
Sriram 0fe7463a35 TI DaVinci EMAC: Clear statistics register properly.
The mechanism to clear the statistics register is dependent
on the status of GMIIEN bit in MAC control register. If the
GMIIEN bit is set, the stats registers are write to decrement.
If the GMIIEN bit is cleared, the stats registers are plain
read/write registers. The stats register clearing operation
must take into account the current state of GMIIEN as it
can be cleared when the interface is brought down.

With existing implementation logic, querying for interface stats
when the interface is down, can corrupt the statistics counters.
This patch examines the GMIIEN bit status in MAC_CONTROL
register before choosing an appropriate mask for clearing stats
registers.

Signed-off-by: Sriramakrishnan <srk@ti.com>
Acked-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-10-13 12:02:53 -07:00
..
appletalk
arcnet trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
arm
atl1c atl1c:remove compiling warning 2009-09-22 14:00:10 -07:00
atl1e
atlx
benet be2net: Bug fix to properly update ethtool tx-checksumming after ethtool -K <ifname> tx off 2009-10-06 17:33:41 -07:00
bonding bonding: set primary param via sysfs 2009-10-01 14:34:29 -07:00
can at91_can: Forgotten git 'add' of at91_can.c 2009-09-25 13:43:54 -07:00
chelsio
cris
cxgb3
e1000 e1000: cleanup unused prototype 2009-09-26 20:16:05 -07:00
e1000e e1000e: swap max hw supported frame size between 82574 and 82583 2009-10-04 21:08:49 -07:00
ehea Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-09-24 15:13:11 -07:00
enic
fs_enet
hamradio NET: mkiss: Fix typo 2009-10-01 14:48:25 -07:00
ibm_newemac ibm_newemac: Added 16K Tx FIFO size support for EMAC4 2009-10-08 22:54:56 -07:00
igb e1000e/igb/ixgbe: Don't report an error if devices don't support AER 2009-10-02 10:04:12 -07:00
igbvf
irda irda/sa1100_ir: check return value of startup hook 2009-10-13 03:17:37 -07:00
ixgb
ixgbe ixgbe: add support for 82599 based X520 10G Dual KX4 Mezz card 2009-10-04 21:08:45 -07:00
ixp2000 net: Fix IXP 2000 network driver building. 2009-10-13 00:03:11 -07:00
mlx4
myri10ge
netxen netxen: fix pci bar mapping 2009-10-13 00:26:04 -07:00
pcmcia 3c574_cs: spin_lock the set_multicast_list function 2009-10-13 00:35:55 -07:00
phy
qlge qlge: Add disable/enable firmare irqs to handler. 2009-10-08 22:54:55 -07:00
sfc cpumask: use zalloc_cpumask_var() where possible 2009-09-24 09:34:24 +09:30
skfp trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
tokenring
tulip
usb net: Teach pegasus driver to ignore bluetoother adapters with clashing Vendor:Product IDs 2009-10-13 00:35:54 -07:00
vmxnet3 net: VMware virtual Ethernet NIC driver: vmxnet3 2009-10-13 00:15:51 -07:00
vxge trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
wan WAN: fix Cisco HDLC handshaking. 2009-10-13 03:16:53 -07:00
wimax
wireless libertas: fix build 2009-10-13 00:23:05 -07:00
3c59x.c 3c59x: Rework suspend and resume 2009-09-30 20:11:11 -07:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c 8139cp: fix duplicate loglevel in module load message 2009-09-22 14:00:15 -07:00
8139too.c
8390.c
8390.h
8390p.c
82596.c
a2065.c
a2065.h
ac3200.c
acenic.c acenic: Pass up error code from ace_load_firmware() 2009-10-12 04:18:48 -07:00
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c au1000_eth: Duplicate test of RX_OVERLEN bit in update_rx_stats() 2009-10-07 03:50:10 -07:00
au1000_eth.h
ax88796.c
b44.c
b44.h
bcm63xx_enet.c bcm63xx_enet: timeout off by one in do_mdio_op() 2009-09-30 20:03:15 -07:00
bcm63xx_enet.h
bfin_mac.c
bfin_mac.h
bmac.c
bmac.h
bnx2.c
bnx2.h
bnx2_fw.h
bnx2x.h
bnx2x_dump.h
bnx2x_fw_defs.h
bnx2x_fw_file_hdr.h
bnx2x_hsi.h
bnx2x_init.h
bnx2x_init_ops.h
bnx2x_link.c
bnx2x_link.h
bnx2x_main.c
bnx2x_reg.h trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
bsd_comp.c
cassini.c
cassini.h
cnic.c cnic: Fix NETDEV_UP event processing. 2009-10-02 11:03:28 -07:00
cnic.h
cnic_defs.h
cnic_if.h cnic: Fix NETDEV_UP event processing. 2009-10-02 11:03:28 -07:00
cpmac.c cpmac: fix compilation errors against undeclared BUS_ID_SIZE 2009-09-21 11:32:23 -07:00
cs89x0.c
cs89x0.h
davinci_emac.c TI DaVinci EMAC: Clear statistics register properly. 2009-10-13 12:02:53 -07:00
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c
dm9000.h
dnet.c
dnet.h
dummy.c
e100.c
e2100.c
eepro.c
eexpress.c
eexpress.h
enc28j60.c spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
enc28j60_hw.h
epic100.c
eql.c
es3210.c
eth16i.c
ethoc.c ethoc: fix warning from 32bit build 2009-10-13 00:23:06 -07:00
ewrk3.c
ewrk3.h
fealnx.c
fec.c
fec.h
fec_mpc52xx.c
fec_mpc52xx.h
fec_mpc52xx_phy.c Merge commit 'gcl/merge' into next 2009-06-18 11:22:08 +10:00
forcedeth.c
fsl_pq_mdio.c fsl_pq_mdio: Fix fsl_pq_mdio to work with modules 2009-06-25 20:03:53 -07:00
fsl_pq_mdio.h
gianfar.c
gianfar.h
gianfar_ethtool.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
gianfar_sysfs.c
hamachi.c
hp-plus.c
hp.c
hp100.c
hp100.h
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c
ioc3-eth.c
ipg.c
ipg.h
isa-skeleton.c
iseries_veth.c net: Fix wrong sizeof 2009-10-02 09:55:19 -07:00
jazzsonic.c
jme.c
jme.h
Kconfig net: VMware virtual Ethernet NIC driver: vmxnet3 2009-10-13 00:15:51 -07:00
korina.c
ks8842.c
ks8851.c spi: prefix modalias with "spi:" 2009-09-23 07:39:43 -07:00
ks8851.h
ks8851_mll.c drivers/net: ks8851_mll ethernet network driver 2009-09-30 20:03:57 -07:00
lance.c
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
ll_temac.h
ll_temac_main.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
ll_temac_mdio.c
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c
macb.c trivial: fix typos "man[ae]g?ment" -> "management" 2009-09-21 15:14:56 +02:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c
Makefile net: VMware virtual Ethernet NIC driver: vmxnet3 2009-10-13 00:15:51 -07:00
mdio.c
meth.c don't use __devexit_p to wrap meth_remove 2009-10-01 14:34:40 -07:00
meth.h
mii.c
mipsnet.c
mv643xx_eth.c
mvme147.c
myri_sbus.c
myri_sbus.h
natsemi.c
ne-h8300.c
ne.c
ne2.c
ne2k-pci.c
ne3210.c
netconsole.c
netx-eth.c
ni52.c trivial: remove unnecessary semicolons 2009-09-21 15:14:58 +02:00
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c BUILD_BUG_ON(): fix it and a couple of bogus uses of it 2009-09-23 07:39:29 -07:00
niu.h
ns83820.c
pasemi_mac.c
pasemi_mac.h
pasemi_mac_ethtool.c pasemi_mac: ethtool get settings fix 2009-10-07 03:37:43 -07:00
pci-skeleton.c
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c
pppol2tp.c net: Make setsockopt() optlen be unsigned. 2009-09-30 16:12:20 -07:00
pppox.c
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c
ps3_gelic_wireless.h
qla3xxx.c
qla3xxx.h
r6040.c
r8169.c r8169: partial support and phy init for the 8168d 2009-10-13 12:01:31 -07:00
rionet.c trivial: fix typo "for for" in multiple files 2009-09-21 15:14:54 +02:00
rrunner.c
rrunner.h
s2io-regs.h
s2io.c
s2io.h
s6gmac.c
sb1000.c
sb1250-mac.c
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c don't use __devexit_p to wrap sgiseeq_remove 2009-10-01 14:34:43 -07:00
sgiseeq.h
sh_eth.c
sh_eth.h
sis190.c
sis900.c
sis900.h
skge.c skge: use unique IRQ name 2009-10-01 15:14:54 -07:00
skge.h skge: use unique IRQ name 2009-10-01 15:14:54 -07:00
sky2.c sky2: irqname based on pci address 2009-10-01 15:14:55 -07:00
sky2.h sky2: irqname based on pci address 2009-10-01 15:14:55 -07:00
slhc.c
slip.c slip: Clean up create and destroy 2009-09-19 13:13:17 -07:00
slip.h
smc-mca.c
smc-ultra.c
smc-ultra32.c
smc91x.c
smc91x.h
smc911x.c
smc911x.h
smc9194.c
smc9194.h
smsc911x.c
smsc911x.h
smsc9420.c
smsc9420.h
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net.c
spider_net.h
spider_net_ethtool.c
starfire.c
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c
sungem.c
sungem.h
sungem_phy.c
sungem_phy.h
sunhme.c
sunhme.h
sunlance.c
sunqe.c
sunqe.h
sunvnet.c drivers/net: remove duplicate structure field initialization 2009-09-22 14:00:09 -07:00
sunvnet.h
tc35815.c
tehuti.c
tehuti.h
tg3.c tg3: Fix phylib locking strategy 2009-10-07 03:37:39 -07:00
tg3.h tg3: Fix phylib locking strategy 2009-10-07 03:37:39 -07:00
tlan.c
tlan.h
tsi108_eth.c
tsi108_eth.h
tun.c Merge branch 'master' of /home/davem/src/GIT/linux-2.6/ 2009-09-24 15:13:11 -07:00
typhoon.c
typhoon.h
ucc_geth.c
ucc_geth.h
ucc_geth_ethtool.c
veth.c
via-rhine.c
via-velocity.c
via-velocity.h
virtio_net.c move virtnet_remove to .devexit.text 2009-10-01 14:34:44 -07:00
wd.c
xen-netfront.c
xilinx_emaclite.c net: xilinx_emaclite: Fix problem with first incoming packet 2009-09-22 14:00:04 -07:00
xtsonic.c
yellowfin.c
znet.c znet: Don't claim DMA lock around free_dma() calls. 2009-10-07 22:15:23 -07:00
zorro8390.c