linux_dsm_epyc7002/drivers/net/ethernet/mellanox/mlxsw
Ido Schimmel ed604c5da3 mlxsw: spectrum_router: Free LPM tree upon failure
When a new LPM tree is created, we try to replace the trees in the
existing virtual routers with it. If we fail, the tree needs to be
freed.

Currently, this does not happen in the unlikely case where we fail to
bind the tree to the first virtual router, since its reference count
never transitions from 1 to 0.

Fix that by taking a reference before binding the tree.

Fixes: fc922bb0dd ("mlxsw: spectrum_router: Use one LPM tree for all virtual routers")
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>
2018-01-18 20:54:58 -05:00
..
cmd.h mlxsw: pci: Remove unused bit 2017-03-08 23:17:38 -08:00
core_acl_flex_actions.c mlxsw: acl: Introduce ACL trap and forward action 2017-10-03 10:06:30 -07:00
core_acl_flex_actions.h mlxsw: acl: Introduce ACL trap and forward action 2017-10-03 10:06:30 -07:00
core_acl_flex_keys.c mlxsw: core: Introduce flexible keys support 2017-02-03 16:35:41 -05:00
core_acl_flex_keys.h mlxsw: acl: Add ip tos acl element 2017-07-17 09:18:23 -07:00
core_hwmon.c
core_thermal.c
core.c mlxsw: core: Fix possible deadlock 2017-10-18 12:19:15 +01:00
core.h mlxsw: core: Create the mlxsw_fw_rev struct 2017-05-25 17:46:17 -04:00
emad.h
i2c.c mlxsw: i2c: Fix buffer increment counter for write transaction 2017-11-01 20:40:58 +09:00
i2c.h
ib.h
item.h mlxsw: item: Add helpers for getting pointer into payload for char buffer item 2017-02-03 16:35:38 -05:00
Kconfig mlxsw: spectrum_router: Add support for IPv6 routes addition / deletion 2017-08-03 15:36:00 -07:00
Makefile mlxsw: spectrum: Support RED qdisc offload 2017-11-08 12:23:38 +09:00
minimal.c
pci_hw.h mlxsw: pci: Wait after reset before accessing HW 2018-01-10 15:58:22 -05:00
pci.c mlxsw: pci: Wait after reset before accessing HW 2018-01-10 15:58:22 -05:00
pci.h
port.h mlxsw: Query maximum number of ports from firmware 2017-03-24 13:53:28 -07:00
reg.h mlxsw: reg: Add ext and tc-cong counter groups 2017-11-08 12:23:38 +09:00
resources.h mlxsw: resources: Add multicast ERIF list entries resource 2017-09-19 14:21:40 -07:00
spectrum_acl_flex_actions.c mlxsw: spectrum: Move ACL flexible actions instance to spectrum 2017-09-19 14:21:40 -07:00
spectrum_acl_flex_actions.h mlxsw: spectrum: Move ACL flexible actions instance to spectrum 2017-09-19 14:21:40 -07:00
spectrum_acl_flex_keys.h mlxsw: spectrum: Add tos to the ipv4 acl block 2017-07-17 09:18:23 -07:00
spectrum_acl_tcam.c mlxsw: spectrum_acl: Propagate errors from mlxsw_afa_block_jump/continue 2017-09-26 20:26:45 -07:00
spectrum_acl.c mlxsw: spectrum_acl: Propagate errors from mlxsw_afa_block_jump/continue 2017-09-26 20:26:45 -07:00
spectrum_buffers.c mlxsw: spectrum_buffer: Reduce scope of shared buffer struct 2017-05-17 14:06:54 -04:00
spectrum_cnt.c mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_cnt.h mlxsw: spectrum: Support for counters on router interfaces 2017-03-28 17:11:55 -07:00
spectrum_dcb.c
spectrum_dpipe.c mlxsw: spectrum_dpipe: Fix entries dump of the adjacency table 2017-10-24 19:02:02 +09:00
spectrum_dpipe.h mlxsw: spectrum_dpipe: Add initial support for the router adjacency table 2017-09-26 20:04:35 -07:00
spectrum_fid.c mlxsw: spectrum: Improve IPv6 unregistered multicast flooding 2017-07-17 09:19:39 -07:00
spectrum_flower.c mlxsw: spectrum_flower: Offload "ok" termination action 2017-09-26 20:26:45 -07:00
spectrum_ipip.c mlxsw: spectrum_ipip: Handle underlay device change 2017-11-04 09:15:18 +09:00
spectrum_ipip.h mlxsw: spectrum: Handle NETDEV_CHANGE on L3 tunnels 2017-11-04 09:15:18 +09:00
spectrum_kvdl.c mlxsw: spectrum: Add another partition to KVD linear 2017-10-23 05:23:06 +01:00
spectrum_mr_tcam.c mlxsw: spectrum: mr_tcam: Include the mr_tcam header file 2017-10-24 19:07:13 +09:00
spectrum_mr_tcam.h mlxsw: spectrum: Add the multicast routing hardware logic 2017-09-27 11:33:28 -07:00
spectrum_mr.c mlxsw: spectrum: mr: Make the function mlxsw_sp_mr_dev_vif_lookup static 2017-10-24 19:07:13 +09:00
spectrum_mr.h mlxsw: spectrum: mr_tcam: Add trap-and-forward multicast route 2017-10-03 10:06:30 -07:00
spectrum_qdisc.c mlxsw: spectrum_qdisc: Don't use variable array in mlxsw_sp_tclass_congestion_enable 2018-01-10 15:58:23 -05:00
spectrum_router.c mlxsw: spectrum_router: Free LPM tree upon failure 2018-01-18 20:54:58 -05:00
spectrum_router.h mlxsw: spectrum: Handle NETDEV_CHANGE on L3 tunnels 2017-11-04 09:15:18 +09:00
spectrum_switchdev.c mlxsw: spectrum: Relax sanity checks during enslavement 2018-01-02 12:38:26 -05:00
spectrum.c mlxsw: spectrum: Relax sanity checks during enslavement 2018-01-02 12:38:26 -05:00
spectrum.h mlxsw: spectrum: Relax sanity checks during enslavement 2018-01-02 12:38:26 -05:00
switchib.c mlxsw: make mlxsw_config_profile const 2017-08-11 14:57:04 -07:00
switchx2.c mlxsw: make mlxsw_config_profile const 2017-08-11 14:57:04 -07:00
trap.h mlxsw: spectrum: Add trap for multicast trap-and-forward routes 2017-10-03 10:06:30 -07:00
txheader.h