diff options
author | Moshe Shemesh <moshe@nvidia.com> | 2022-07-11 01:14:06 -0700 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2022-07-12 10:26:23 +0200 |
commit | 7b19119f4c7dc9412b556ea12fae6b32574e2810 (patch) | |
tree | cb4e29823ccf7903e32b62ba3af5fe48a2fb89c0 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | df539fc62b069ed2b2395d8d1c77f7758c5001a6 (diff) |
net/mlx5: Use devl_ API in mlx5e_devlink_port_register
As part of the flows invoked by mlx5_devlink_eswitch_mode_set() get to
mlx5_rescan_drivers_locked() which can call mlx5e_probe()/mlx5e_remove
and register/unregister mlx5e driver ports accordingly. This can lead to
deadlock once mlx5_devlink_eswitch_mode_set() will use devlink lock.
Use devl_port_register/unregister() instead of
devlink_port_register/unregister() and add devlink instance locks in the
driver paths to this function to have it locked while calling devl_ API
function.
If remove or probe were called by module init or module cleanup flows,
need to lock devlink just before calling devl_port_register(), otherwise
it is called by attach/detach or register/unregister flow and we can
have the flow locked. Added flag to distinguish between these cases.
This will be used by the downstream patch to invoke
mlx5_devlink_eswitch_mode_set() with devlink locked.
Signed-off-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions