linux/drivers/net/ethernet
Fabrice Gasnier 16ee817e43 stmmac: fix stmmac_tx_avail should be called with TX locked
stmmac_tx_avail() may lie if used unprotected. It's using cur_tx
and dirty_tx index. These index may be already in use by tx_clean
when entering xmit routine. So, this should be called locked.

This can cause transmit queue to be stuck, with following message:
NETDEV WATCHDOG: eth0 (stmmaceth): transmit queue 0 timed out

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@st.com>
Acked-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-11-05 16:22:56 -05:00
..
3com Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-10-08 16:22:22 -04:00
8390 PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
adaptec PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
adi net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
aeroflex greth: moved TX ring cleaning to NAPI rx poll func 2014-09-05 21:57:09 -07:00
agere et131x: Add PCIe gigabit ethernet driver et131x to drivers/net 2014-10-03 12:22:19 -07:00
allwinner net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
alteon PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
altera Altera TSE: Add support for no PHY 2014-10-05 21:39:40 -04:00
amd amd-xgbe: Fix napi Rx budget accounting 2014-10-22 17:50:31 -04:00
apm drivers: net: xgene: fix: Use separate resources 2014-11-04 17:08:42 -05:00
apple
arc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-09-23 12:09:27 -04:00
atheros PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
broadcom net: systemport: do not crash freeing an unitialized TX ring 2014-11-01 15:13:56 -04:00
brocade bna: fix skb->truesize underestimation 2014-10-17 23:56:33 -04:00
cadence net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
calxeda net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
chelsio cxgb4 : Fix missing initialization of win0_lock 2014-10-30 16:51:34 -04:00
cirrus cirrus: cs89x0: Use managed interfaces 2014-08-02 16:40:52 -07:00
cisco enic: Do not call napi_disable when preemption is disabled. 2014-10-21 15:24:25 -04:00
davicom net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
dec tulip: dmfe: Fix global namespace pollution of phy accessors. 2014-08-27 18:25:40 -07:00
dlink PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
emulex be2net: fix alignment on line wrap 2014-09-22 15:01:09 -04:00
faraday
freescale net: fec: fix suspend broken on multiple MACs sillicons 2014-11-03 14:50:11 -05:00
fujitsu drivers/net: ethernet: Remove typedef for struct and enum 2014-08-07 16:02:58 -07:00
hisilicon
hp hp100: Convert the normal skb free path to dev_consume_skb_any() 2014-09-08 15:39:58 -07:00
i825xx
ibm ehea: Fix TSO and hw checksums with non-accelerated vlan packets. 2014-08-25 17:27:09 -07:00
icplus PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
intel ixgbe: fix race when setting advertised speed 2014-10-30 05:12:07 -07:00
marvell net: mvpp2: fix possible memory leak 2014-11-01 15:11:50 -04:00
mellanox mlx4: Avoid leaking steering rules on flow creation error flow 2014-10-30 19:48:58 -04:00
micrel net: ks8842: use dmaengine_terminate_all() API 2014-10-15 21:31:00 +05:30
microchip
moxa net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
myricom PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
natsemi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
neterion net: ethernet: neterion: vxge: vxge-main.c: Cleaning up missing null-terminate in conjunction with strncpy 2014-09-15 14:17:00 -04:00
nuvoton net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
nvidia ethernet: nvidia: Remove extra parens 2014-09-02 13:47:25 -07:00
nxp net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
octeon drivers: net: ethernet: octeon_mgmt: fix a compiler warning 2014-09-08 14:23:46 -07:00
oki-semi pch_gbe: 'select' NET_PTP_CLASSIFY. 2014-09-22 13:25:51 -04:00
packetengines drivers/net: Convert remaining uses of pr_warning to pr_warn 2014-09-09 20:37:08 -07:00
pasemi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
qlogic qlcnic: Fix number of arguments in destroy tx context command 2014-10-14 17:05:18 -04:00
qualcomm net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
rdc PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
realtek r8169:add support for RTL8168EP 2014-10-08 15:58:45 -04:00
renesas net: sh_eth: fix driver dependencies 2014-09-02 13:23:25 -07:00
samsung
seeq
sfc sfc: don't BUG_ON efx->max_channels == 0 in probe 2014-11-03 15:57:50 -05:00
sgi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
silan PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
sis PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
smsc smc91x: retrieve IRQ and trigger flags in a modern way 2014-11-01 17:04:20 -04:00
stmicro stmmac: fix stmmac_tx_avail should be called with TX locked 2014-11-05 16:22:56 -05:00
sun sunhme: Add DMA mapping error checks. 2014-11-01 00:23:46 -04:00
tehuti PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
ti drivers: net: cpsw: Support ALLMULTI and fix IFF_PROMISC in switch mode 2014-10-31 16:17:56 -04:00
tile Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-15 07:48:18 +02:00
toshiba net: spider_net: avoid using signed char for bitops 2014-10-05 21:15:16 -04:00
tundra
via Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-10-07 21:16:26 -04:00
wiznet net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
xilinx drivers: net: ethernet: xilinx: xilinx_emaclite: revert the original commit "1db3ddff1602edf2390b7667dcbaa0f71512e3ea" 2014-11-05 16:00:51 -05:00
xircom ethernet: amd: Remove typedef local_info_t 2014-08-11 12:19:53 -07:00
xscale
dnet.c net: dnet: Use managed interfaces 2014-08-02 16:40:52 -07:00
dnet.h
ec_bhf.c net: ec_bhf: remove excessive debug messages 2014-08-24 18:36:57 -07:00
ethoc.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
fealnx.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
jme.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
jme.h
Kconfig et131x: Add PCIe gigabit ethernet driver et131x to drivers/net 2014-10-03 12:22:19 -07:00
korina.c
lantiq_etop.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
Makefile et131x: Add PCIe gigabit ethernet driver et131x to drivers/net 2014-10-03 12:22:19 -07:00
netx-eth.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
s6gmac.c