linux/drivers/net/ethernet
Lino Sanfilippo 739c8e149a net: ethernet: stmmac: remove private tx queue lock
The driver uses a private lock for synchronization of the xmit function and
the xmit completion handler, but since the NETIF_F_LLTX flag is not set,
the xmit function is also called with the xmit_lock held.

On the other hand the completion handler uses the reverse locking order by
first taking the private lock and (in case that the tx queue had been
stopped) then the xmit_lock.

Improve the locking by removing the private lock and using only the
xmit_lock for synchronization instead.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-12-10 23:26:54 -05:00
..
3com net: 3com: typhoon: fix typhoon_get_link_ksettings 2016-11-09 13:25:14 -05:00
8390 net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
adaptec net: adaptec: starfire: use new api ethtool_{get|set}_link_ksettings 2016-11-09 13:25:12 -05:00
adi net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
aeroflex net: phy: expose phy_aneg_done API for use by drivers 2016-11-13 00:56:26 -05:00
agere ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
alacritech net: ethernet: slicoss: use module_pci_driver() 2016-12-08 13:00:02 -05:00
allwinner net: ethernet: sun4i-emac: Read rxhdr in CPU byte-order 2016-11-15 22:05:54 -05:00
alteon net: alteon: acenic: use new api ethtool_{get|set}_link_ksettings 2016-11-09 13:25:12 -05:00
altera Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
amazon net: ena: use setup_timer() and mod_timer() 2016-10-26 17:21:59 -04:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
apm net: xgene: avoid bogus maybe-uninitialized warning 2016-12-08 21:30:54 -05:00
apple net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
arc net: arc_emac: add dependencies on associated arches and compile test 2016-11-29 18:57:36 -05:00
atheros alx: enable multiple tx queues 2016-11-15 22:46:30 -05:00
aurora Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
broadcom bnxt_en: Add interface to support RDMA driver. 2016-12-07 10:59:26 -05:00
brocade net: brocade: bna: use new api ethtool_{get|set}_link_ksettings 2016-11-30 10:29:02 -05:00
cadence Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
calxeda net: calxeda: xgmac: use new api ethtool_{get|set}_link_ksettings 2016-12-05 15:34:33 -05:00
cavium net: nicvf: use new api ethtool_{get|set}_link_ksettings 2016-12-10 17:31:44 -05:00
chelsio Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
cirrus Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-06 21:33:19 -05:00
cisco enic: set skb->hash type properly 2016-11-02 15:32:53 -04:00
davicom net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
dec net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
dlink ethernet/dlink: use core min/max MTU checking 2016-10-18 11:34:20 -04:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-06 21:33:19 -05:00
ezchip net: nps_enet: Fix module autoload 2016-10-17 13:03:02 -04:00
faraday net/faraday: Stop NCSI device on shutdown 2016-10-04 02:11:51 -04:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-06 21:33:19 -05:00
fujitsu net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
hisilicon net: hns: Fix to conditionally convey RX checksum flag to stack 2016-12-06 11:41:57 -05:00
hp net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
i825xx net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
intel i40e: move all updates for VLAN mode into i40e_sync_vsi_filters 2016-12-06 21:38:24 -08:00
marvell net: mvneta: select GENERIC_ALLOCATOR 2016-12-10 17:27:53 -05:00
mediatek Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
micrel ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
microchip net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
moxa net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
myricom myri10ge: fix typo in parameter description 2016-10-20 14:47:53 -04:00
natsemi net: ns83820: use dev_kfree_skb_irq instead of kfree_skb 2016-10-26 17:21:59 -04:00
neterion ethernet/neterion: use core min/max MTU checking 2016-10-18 11:34:20 -04:00
netronome bpf: xdp: Allow head adjustment in XDP prog 2016-12-08 14:25:13 -05:00
nuvoton net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
nvidia ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
nxp net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
oki-semi ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
packetengines net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
pasemi ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
qlogic bpf: xdp: Allow head adjustment in XDP prog 2016-12-08 14:25:13 -05:00
qualcomm net: qcom/emac: add support for the Qualcomm Technologies QDF2400 2016-12-09 22:11:02 -05:00
rdc net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
realtek r8169: Add support for restarting auto-negotiation 2016-12-05 13:38:43 -05:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
rocker ipv4: fib: Replay events when registering FIB notifier 2016-12-03 19:29:35 -05:00
samsung net: ethernet: sxgbe: remove private tx queue lock 2016-12-10 23:23:35 -05:00
seeq net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
sfc sfc: remove EFX_BUG_ON_PARANOID, use EFX_WARN_ON_[ONCE_]PARANOID instead 2016-12-03 16:11:00 -05:00
sgi net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
silan net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
sis net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
stmicro net: ethernet: stmmac: remove private tx queue lock 2016-12-10 23:26:54 -05:00
sun Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-22 13:27:16 -05:00
synopsys Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-03 12:29:53 -05:00
tehuti ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
ti net: ethernet: ti: cpsw: sync rates for channels in dual emac mode 2016-12-10 17:29:47 -05:00
tile ethernet/tile: use core min/max MTU checking 2016-10-18 11:34:21 -04:00
toshiba Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-11-15 10:54:36 -05:00
tundra net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
via ethernet: use core min/max MTU checking 2016-10-18 11:34:22 -04:00
wiznet net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
xilinx net: ll_temac: Utilize of_get_mac_address() 2016-12-08 11:34:03 -05:00
xircom net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
xscale net: ethernet: ixp4xx_eth: Utilize phy_ethtool_nway_reset 2016-11-15 16:33:35 -05:00
dnet.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
dnet.h
ec_bhf.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
ethoc.c net: ethoc: Demote packet dropped error message to debug 2016-12-05 15:30:04 -05:00
fealnx.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
jme.c ethernet: use net core MTU range checking in more drivers 2016-10-20 14:51:08 -04:00
jme.h
Kconfig net: ethernet: slicoss: add slicoss gigabit ethernet driver 2016-12-06 11:24:28 -05:00
korina.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00
lantiq_etop.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-12-10 16:21:55 -05:00
Makefile net: ethernet: slicoss: add slicoss gigabit ethernet driver 2016-12-06 11:24:28 -05:00
netx-eth.c net: deprecate eth_change_mtu, remove usage 2016-10-13 09:36:57 -04:00