OpenCloudOS-Kernel/drivers/net/ethernet/mellanox/mlx5/core
Yishai Hadas c5ae1954c4 IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT
To prevent a hardware memory leak when a DEVX DCT object is destroyed
without calling DRAIN DCT before, (e.g. under cleanup flow), need to
manage its creation and destruction via mlx5 core.

In that case the DRAIN DCT command will be called and only once that it
will be completed the DESTROY DCT command will be called.  Otherwise, the
DESTROY DCT may fail and a hardware leak may occur.

As of that change the DRAIN DCT command should not be exposed any more
from DEVX, it's managed internally by the driver to work as expected by
the device specification.

Fixes: 7efce3691d ("IB/mlx5: Add obj create and destroy functionality")
Signed-off-by: Yishai Hadas <yishaih@mellanox.com>
Reviewed-by: Artemy Kovalyov <artemyko@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2019-03-17 21:40:39 -03:00
..
accel net/mlx5: fix an unused-function warning 2018-07-18 13:38:54 -07:00
diag net/mlx5: Add trace points for flow tables create/destroy 2019-01-25 12:16:14 -08:00
en net/mlx5e: Use hint to resolve route when in HW multipath mode 2019-03-01 12:04:17 -08:00
en_accel xfrm: prefer secpath_set over secpath_dup 2018-12-19 11:21:38 -08:00
fpga net/mlx5: Delete unused FPGA QPN variable 2019-02-19 14:15:04 -08:00
ipoib net/mlx5e: Wrap the open and apply of channels in one fail-safe function 2019-02-19 14:15:03 -08:00
lib mellanox: Switch to bitmap_zalloc() 2019-03-04 10:19:33 -08:00
Kconfig net: devlink: turn devlink into a built-in 2019-02-26 08:49:05 -08:00
Makefile net/mlx5: Add multipath mode 2019-03-01 12:04:16 -08:00
alloc.c mellanox: Switch to bitmap_zalloc() 2019-03-04 10:19:33 -08:00
cmd.c Support Mellanox BlueField SmartNIC (mlx5-updates-2019-02-15) 2019-02-16 12:11:17 -08:00
cq.c net/mlx5: EQ, Different EQ types 2018-11-20 20:07:00 +02:00
debugfs.c net/mlx5: EQ, Privatize eq_table and friends 2018-11-20 20:06:54 +02:00
dev.c net/mlx5: Remove the get protocol device interface entry 2018-12-10 14:00:08 -08:00
ecpf.c net/mlx5: Add query host params command 2019-02-14 12:14:41 -08:00
ecpf.h net/mlx5: Add query host params command 2019-02-14 12:14:41 -08:00
en.h net/mlx5e: Wrap the open and apply of channels in one fail-safe function 2019-02-19 14:15:03 -08:00
en_arfs.c net/mlx5e: Add new counter for aRFS rule insertion failures 2018-10-03 16:17:59 -07:00
en_common.c net/mlx5: Rename incorrect naming in IFC file 2018-09-22 00:38:39 +03:00
en_dcbnl.c net/mlx5e: Wrap the open and apply of channels in one fail-safe function 2019-02-19 14:15:03 -08:00
en_dim.c net/mlx5e: Enable adaptive-TX moderation 2018-04-24 10:15:08 -04:00
en_ethtool.c net/mlx5e: Fix access to non-existing receive queue 2019-03-11 11:32:40 -07:00
en_fs.c net/mlx5e: Remove redundant vport context vlan update 2018-05-14 15:10:22 -07:00
en_fs_ethtool.c net/mlx5e: ethtool, Support user configuration for RX hash fields 2018-12-05 16:00:37 -08:00
en_main.c net/mlx5e: Update tx reporter status in case channels were successfully opened 2019-03-04 11:00:43 -08:00
en_rep.c net/mlx5e: Properly get the PF number phys port name ndo 2019-03-11 11:32:39 -07:00
en_rep.h net/mlx5e: Re-attempt to offload flows on multipath port affinity events 2019-03-01 12:04:17 -08:00
en_rx.c net/mlx5e: IPoIB, Fix RX checksum statistics update 2019-03-11 11:32:40 -07:00
en_selftest.c net/mlx5e: Fix selftest for small MTUs 2018-11-19 14:35:04 -08:00
en_stats.c net/mlx5e: Separate between ethtool and netdev software stats folding 2019-01-25 12:16:14 -08:00
en_stats.h net/mlx5e: Separate between ethtool and netdev software stats folding 2019-01-25 12:16:14 -08:00
en_tc.c net/mlx5e: Set peer flow needed also for multipath 2019-03-01 12:04:18 -08:00
en_tc.h net/mlx5e: Re-attempt to offload flows on multipath port affinity events 2019-03-01 12:04:17 -08:00
en_tx.c mlx5-updates-2019-02-21 2019-02-23 13:56:25 -08:00
en_txrx.c net/mlx5e: XDP, Change the XDP SQ redirect indication 2018-12-20 22:54:18 -08:00
eq.c net/mlx5: Relocate vport macros to the vport header file 2019-02-14 12:14:42 -08:00
eswitch.c net/mlx5: Avoid panic when setting vport rate 2019-03-11 11:32:40 -07:00
eswitch.h net/mlx5e: Activate HW multipath and handle port affinity based on FIB events 2019-03-01 12:04:16 -08:00
eswitch_offloads.c net/mlx5: E-Switch, Allow transition to offloads mode for ECPF 2019-02-15 17:25:58 -08:00
events.c Support Mellanox BlueField SmartNIC (mlx5-updates-2019-02-15) 2019-02-16 12:11:17 -08:00
fs_cmd.c net/mlx5: Support extended destination format in flow steering command 2018-12-10 14:00:08 -08:00
fs_cmd.h net/mlx5: Flow steering cmd interface should get the fte when deleting 2018-03-06 22:20:15 -08:00
fs_core.c net/mlx5: Consolidate update FTE for all removal changes 2019-03-11 11:32:39 -07:00
fs_core.h net/mlx5: Add modify FTE helper function 2019-03-11 11:32:39 -07:00
fs_counters.c net/mlx5: Move flow counters data structures from flow steering header 2018-12-09 18:16:16 -08:00
fw.c net/mlx5: Add Fast teardown support 2018-10-03 16:18:00 -07:00
health.c net/mlx5: No command allowed when command interface is not ready 2019-02-13 15:40:50 -08:00
lag.c net/mlx5: Remove redundant lag function to get pf num 2019-03-11 11:32:39 -07:00
lag.h net/mlx5e: Activate HW multipath and handle port affinity based on FIB events 2019-03-01 12:04:16 -08:00
lag_mp.c net/mlx5: Emit port affinity event for multipath offloads 2019-03-01 12:04:17 -08:00
lag_mp.h net/mlx5e: Activate HW multipath and handle port affinity based on FIB events 2019-03-01 12:04:16 -08:00
main.c 5.1 Merge Window Pull Request 2019-03-09 15:53:03 -08:00
mcg.c
mlx5_core.h net/mlx5: Remove redundant lag function to get pf num 2019-03-11 11:32:39 -07:00
mr.c net/mlx5: Make mlx5_cmd_exec_cb() a safe API 2019-01-24 14:25:26 +02:00
pagealloc.c net/mlx5: Introduce Mellanox SmartNIC and modify page management logic 2019-02-14 12:14:41 -08:00
pd.c
port.c net/mlx5e: Fix GRE key by controlling port tunnel entropy calculation 2019-02-22 13:38:23 -08:00
qp.c IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT 2019-03-17 21:40:39 -03:00
rl.c net/mlx5: Packet pacing enhancement 2018-03-19 11:54:41 -06:00
sriov.c net/mlx5: Introduce Mellanox SmartNIC and modify page management logic 2019-02-14 12:14:41 -08:00
transobj.c net/mlx5: Move SRQ functions to RDMA part 2018-12-04 09:14:30 +02:00
uar.c mellanox: Switch to bitmap_zalloc() 2019-03-04 10:19:33 -08:00
vport.c net/mlx5: E-Switch, Properly refer to host PF vport as other vport 2019-02-15 17:25:56 -08:00
wq.c net/mlx5e: Use CQE padding for Ethernet CQs 2018-12-11 14:52:20 -08:00
wq.h net/mlx5e: Use CQE padding for Ethernet CQs 2018-12-11 14:52:20 -08:00