linux_dsm_epyc7002/drivers/net/ethernet
Parav Pandit 77b094305b net/mlx5: Tide up state_lock and vport enabled flag usage
When eswitch is disabled, vport event handler is unregistered.
This unregistration already synchronizes with running EQ event handler
in below code flow.

mlx5_eswitch_disable()
  mlx5_eswitch_event_handlers_unregister()
    mlx5_eq_notifier_unregister()
      atomic_notifier_chain_unregister()
        synchronize_rcu()

notifier_callchain
  eswitch_vport_event()
    queue_work()

Additionally vport->enabled flag is set under state_lock during
esw_enable_vport() but is not read under state_lock in
(a) esw_disable_vport() and (b) under atomic context
eswitch_vport_event().

It is also necessary to synchronize with already scheduled vport event.
This is already achieved using below sequence.

mlx5_eswitch_event_handlers_unregister()
  [..]
  flush_workqueue()

Hence,
(a) Remove vport->enabled check in eswitch_vport_event() which
doesn't make any sense.
(b) Remove redundant flush_workqueue() on every vport disable.
(c) Keep esw_disable_vport() symmetric with esw_enable_vport() for
state_lock.

Signed-off-by: Parav Pandit <parav@mellanox.com>
Reviewed-by: Vu Pham <vuhuong@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2019-11-01 14:40:26 -07:00
..
3com
8390
adaptec
aeroflex
agere
alacritech
allwinner drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
alteon
altera
amazon net: ena: clean up indentation issue 2019-09-27 20:32:02 +02:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-02 11:20:17 -07:00
apm
apple
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-28 17:47:33 -07:00
arc
atheros net: ag71xx: fix mdio subnode support 2019-10-01 10:19:19 -07:00
aurora
broadcom net: broadcom/bcmsysport: Fix signedness in bcm_sysport_probe() 2019-09-27 10:02:24 +02:00
brocade
cadence net: macb: Remove dead code 2019-09-25 13:59:43 +02:00
calxeda
cavium Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-19 11:54:03 -07:00
chelsio cxgb4:Fix out-of-bounds MSI-X info array access 2019-10-04 14:42:13 -07:00
cirrus cirrus: cs89x0: remove set but not used variable 'lp' 2019-08-25 19:48:59 -07:00
cisco
cortina
davicom
dec
dlink
emulex drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
ezchip ezchip: nps_enet: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:13 -07:00
faraday
freescale enetc: Fix a signedness bug in enetc_of_get_phy() 2019-09-27 10:03:41 +02:00
fujitsu
google gve: Copy and paste bug in gve_get_stats() 2019-08-21 20:50:26 -07:00
hisilicon net: hisilicon: Fix usage of uninitialized variable in function mdio_sc_cfg_reg_write() 2019-10-02 14:20:22 -07:00
hp
huawei
i825xx
ibm net/ibmvnic: prevent more than one thread from running in reset 2019-09-25 13:41:41 +02:00
intel pci-v5.4-changes 2019-09-23 19:16:01 -07:00
marvell skge: fix checksum byte order 2019-09-24 16:53:19 +02:00
mediatek net: mediatek: remove set but not used variable 'status' 2019-08-27 20:47:56 -07:00
mellanox net/mlx5: Tide up state_lock and vport enabled flag usage 2019-11-01 14:40:26 -07:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next 2019-09-18 12:34:53 -07:00
microchip lan743x: remove redundant assignment to variable rx_process_result 2019-09-06 16:47:07 +02:00
moxa
mscc net: mscc: ocelot: add missing of_node_put after calling of_get_child_by_name 2019-10-01 10:01:58 -07:00
myricom Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-19 11:54:03 -07:00
natsemi net: sonic: replace dev_kfree_skb in sonic_send_packet 2019-09-11 09:14:01 +01:00
neterion
netronome Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-28 17:47:33 -07:00
ni net: nixge: Fix a signedness bug in nixge_probe() 2019-09-27 10:20:36 +02:00
nvidia Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-09-15 14:17:27 +02:00
nxp drivers: net: Fix Kconfig indentation 2019-09-26 08:56:17 +02:00
oki-semi
packetengines ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
pasemi
pensando ionic: select CONFIG_NET_DEVLINK 2019-10-01 09:24:05 -07:00
qlogic net: qlogic: Fix memory leak in ql_alloc_large_buffers 2019-10-04 18:33:13 -07:00
qualcomm ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
rdc
realtek pci-v5.4-changes 2019-09-23 19:16:01 -07:00
renesas ravb: TROCR register is only present on R-Car Gen3 2019-09-06 16:46:10 +02:00
rocker rocker: add missing init_net check in FIB notifier 2019-09-05 12:14:10 +02:00
samsung net: sxgbe: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:12 -07:00
seeq net: seeq: Fix the function used to release some memory in an error handling path 2019-09-01 12:10:11 -07:00
sfc
sgi net: sgi: ioc3-eth: no need to stop queue set_multicast_list 2019-08-30 13:54:36 -07:00
silan
sis
smsc ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
socionext net: socionext: netsec: always grab descriptor lock 2019-10-01 09:07:47 -07:00
stmicro net: stmmac: Avoid deadlock on suspend/resume 2019-10-02 17:21:26 -07:00
sun ethernet: Delete unnecessary checks before the macro call “dev_kfree_skb” 2019-08-22 16:22:04 -07:00
synopsys
tehuti
ti Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-27 14:23:31 -07:00
toshiba net: spider_net: Use struct_size() helper 2019-08-29 17:53:59 -07:00
tundra
via via-rhine: use devm_platform_ioremap_resource() to simplify code 2019-08-21 13:42:12 -07:00
wiznet
xilinx net: axienet: fix a signedness bug in probe 2019-09-27 10:17:22 +02:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c pci-v5.4-changes 2019-09-23 19:16:01 -07:00
jme.h
Kconfig net: remove netx ethernet driver 2019-09-21 19:08:31 -07:00
korina.c
lantiq_etop.c
lantiq_xrx200.c
Makefile net: remove netx ethernet driver 2019-09-21 19:08:31 -07:00