The branch main has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=78f5ebaed62e38caafc72f4ec1c0a7c2013e15c7

commit 78f5ebaed62e38caafc72f4ec1c0a7c2013e15c7
Author:     Konstantin Belousov <[email protected]>
AuthorDate: 2021-07-05 09:24:00 +0000
Commit:     Konstantin Belousov <[email protected]>
CommitDate: 2021-07-12 09:34:40 +0000

    mlx5: drop Giant around VSC lock and CRSPACE enumeration on attach
    
    This code practically has not sleeping points, so Giant is locked for very
    long time.
    
    Noted and reviewed by:  hselasky
    MFC after:      1 week
    Sponsored by:   Mellanox Technologies // NVIDIA Networking
---
 sys/dev/mlx5/mlx5_core/mlx5_fwdump.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c 
b/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c
index 7bb563846144..a23de943f4aa 100644
--- a/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c
+++ b/sys/dev/mlx5/mlx5_core/mlx5_fwdump.c
@@ -81,17 +81,19 @@ mlx5_fwdump_prep(struct mlx5_core_dev *mdev)
                return;
        }
 
+       DROP_GIANT();
+
        error = mlx5_vsc_find_cap(mdev);
        if (error != 0) {
                /* Inability to create a firmware dump is not fatal. */
                mlx5_core_warn(mdev,
                    "Unable to find vendor-specific capability, error %d\n",
                    error);
-               return;
+               goto pickup_g;
        }
        error = mlx5_vsc_lock(mdev);
        if (error != 0)
-               return;
+               goto pickup_g;
        error = mlx5_vsc_set_space(mdev, MLX5_VSC_DOMAIN_SCAN_CRSPACE);
        if (error != 0) {
                mlx5_core_warn(mdev, "VSC scan space is not supported\n");
@@ -180,6 +182,8 @@ mlx5_fwdump_prep(struct mlx5_core_dev *mdev)
 
 unlock_vsc:
        mlx5_vsc_unlock(mdev);
+pickup_g:
+       PICKUP_GIANT();
 }
 
 int
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "[email protected]"

Reply via email to