OpenCloudOS-Kernel/drivers/net/ethernet
Ido Schimmel 366ce60315 mlxsw: spectrum: Add FDB lock to prevent session interleaving
Dumping the FDB (invoked with a process context) or handling FDB
notifications (polled periodicly in delayed work) might each entail
multiple EMAD transcations due to the number of entries.

While we only allow one EMAD transaction at a time, there is nothing
stopping the dump and notification processing sessions from
interleaving. However, this is forbidden by the hardware, so we need to
make sure only one of these sessions can run at a time.

Solve this by adding a mutex ('fdb_lock'), as both kernel threads can
sleep while waiting for the response EMAD.

Fixes: 56ade8fe3f ("mlxsw: spectrum: Add initial support for Spectrum ASIC")
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-01-11 00:21:19 -05:00
..
3com 3c59x: Add BQL support for 3c59x ethernet driver. 2015-08-24 12:20:58 -07:00
8390 net: mac8390: Allow modular build 2015-09-29 21:11:12 -07:00
adaptec
adi
aeroflex drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
agere
allwinner net: sun4i-emac: Properly free resources on probe failure and remove 2015-10-21 19:47:45 -07:00
alteon
altera net: eth: altera: Fix the initial device operstate 2015-09-09 12:10:15 -07:00
amd amd-xgbe: fix a couple timeout loops 2015-12-15 12:43:01 -05:00
apm drivers: net: xgene: fix Tx flow control 2015-12-17 15:45:53 -05:00
apple net: macmace: Allow modular build 2015-09-29 21:11:13 -07:00
arc net: arc: Fix module autoload for OF platform driver 2015-09-21 16:08:20 -07:00
atheros atl1c: Improve driver not to do order 4 GFP_ATOMIC allocation 2015-12-04 17:01:00 -05:00
aurora ethernet: aurora: AURORA_NB8800 should depend on HAS_DMA 2015-12-07 13:54:35 -05:00
broadcom bnx2x: Prevent FW assertion when using Vxlan 2015-12-18 16:34:32 -05:00
brocade bna: fix error handling 2015-09-29 13:49:53 -07:00
cadence net: macb: Add support for sgmii phy interface 2015-11-18 15:09:09 -05:00
calxeda
cavium net: thunderx: Correctly distinguish between VF and LMAC count 2015-12-08 22:44:55 -05:00
chelsio cxgb4: correctly handling failed allocation 2016-01-04 17:18:42 -05:00
cirrus
cisco enic: assign affinity hint to interrupts 2015-11-02 15:08:00 -05:00
davicom dm9000: fix a typo 2015-09-08 22:44:42 -07:00
dec net: tulip: turn compile-time warning into dev_warn() 2015-11-20 11:02:48 -05:00
dlink dl2k: Add support for IP1000A-based cards 2015-11-16 17:11:31 -05:00
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-12-31 14:40:43 -08:00
ezchip net: ezchip: fix address space confusion in nps_enet.c 2015-12-08 22:58:01 -05:00
faraday
freescale 82xx: FCC: Fixing a bug causing to FCC port lock-up 2015-12-16 18:32:35 -05:00
fujitsu
hisilicon net:hns: print MAC with %pM 2015-12-13 23:36:55 -05:00
hp
i825xx
ibm drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
intel i40e/i40evf: avoid mutex re-init 2015-12-03 13:43:06 -08:00
marvell net: mvpp2: fix refilling BM pools in RX path 2015-12-04 15:01:13 -05:00
mellanox mlxsw: spectrum: Add FDB lock to prevent session interleaving 2016-01-11 00:21:19 -05:00
micrel Merge remote-tracking branches 'spi/topic/omap-100k', 'spi/topic/omap-uwire', 'spi/topic/owner', 'spi/topic/pxa' and 'spi/topic/pxa2xx' into spi-next 2015-11-04 11:02:12 +00:00
microchip spi: Updates for v4.4 2015-11-05 13:15:12 -08:00
moxa net: moxa: Fix module autoload for OF platform driver 2015-09-21 16:09:02 -07:00
myricom
natsemi natsemi: add checks for dma mapping errors 2015-12-19 12:58:46 -05:00
neterion drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
nuvoton
nvidia forcedeth: fix unilateral interrupt disabling in netpoll path 2015-10-27 19:45:23 -07:00
nxp net: lpc_eth: remove irq > NR_IRQS check from probe() 2015-12-03 15:02:24 -05:00
octeon drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
oki-semi drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
packetengines
pasemi
qlogic qlcnic: correctly handle qlcnic_alloc_mbx_args 2016-01-04 17:14:30 -05:00
qualcomm net: qca_spi: fix transmit queue timeout handling 2015-12-06 12:02:24 -05:00
rdc
realtek r8169: fix kasan reported skb use-after-free. 2015-11-12 13:51:01 -05:00
renesas sh_eth: fix 16-bit descriptor field access endianness too 2015-12-22 15:23:47 -05:00
rocker asm-generic cleanups 2015-11-06 14:22:15 -08:00
samsung
seeq
sfc sfc: fix a timeout loop 2015-12-15 12:46:26 -05:00
sgi
silan
sis
smsc net: smsc911x: Reset PHY during initialization 2015-11-16 14:43:14 -05:00
stmicro stmmac: dwmac-sunxi: Call exit cleanup function in probe error path 2015-12-14 16:11:59 -05:00
sun drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
synopsys dwc_eth_qos: Delete an unnecessary check before the function call "of_node_put" 2015-11-07 13:17:32 -05:00
tehuti drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
ti drivers: net: cpsw: fix error return code 2015-12-29 15:31:10 -05:00
tile
toshiba
tundra
via via-velocity: unconditionally drop frames with bad l2 length 2015-11-17 14:37:16 -05:00
wiznet
xilinx drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
xircom
xscale
Kconfig net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller 2015-11-20 11:47:02 -05:00
Makefile net: ethernet: add driver for Aurora VLSI NB8800 Ethernet controller 2015-11-20 11:47:02 -05:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c net/ethoc: support big-endian register layout 2015-09-23 15:33:15 -07:00
fealnx.c
jme.c net: jme: use kzalloc() instead of kmalloc+memset 2015-09-09 17:06:00 -07:00
jme.h
korina.c
lantiq_etop.c
netx-eth.c