diff options
author | Shay Drory <shayd@nvidia.com> | 2022-12-14 23:16:23 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-02-14 21:11:47 +0300 |
commit | 190296d51b4690e6175f25230ea53c8b2f7cdf64 (patch) | |
tree | 8ba6cbfb0090004dc8d066d8d36d61c9bebe6725 /drivers/powercap/intel_rapl_common.c | |
parent | b266f3158171b128b43b6ad32b32175edb05fc90 (diff) | |
download | linux-190296d51b4690e6175f25230ea53c8b2f7cdf64.tar.xz |
net/mlx5: Serialize module cleanup with reload and remove
[ Upstream commit 8f0d1451ecf7b3bd5a06ffc866c753d0f3ab4683 ]
Currently, remove and reload flows can run in parallel to module cleanup.
This design is error prone. For example: aux_drivers callbacks are called
from both cleanup and remove flows with different lockings, which can
cause a deadlock[1].
Hence, serialize module cleanup with reload and remove.
[1]
cleanup remove
------- ------
auxiliary_driver_unregister();
devl_lock()
auxiliary_device_delete(mlx5e_aux)
device_lock(mlx5e_aux)
devl_lock()
device_lock(mlx5e_aux)
Fixes: 912cebf420c2 ("net/mlx5e: Connect ethernet part to auxiliary bus")
Signed-off-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/powercap/intel_rapl_common.c')
0 files changed, 0 insertions, 0 deletions