[PATCH] drm/radeon: Prevent multiple error lines on suspend

Woody Suwalski terraluna977 at gmail.com
Sun Dec 10 18:24:11 UTC 2023


Hello, it has been now over 2 weeks and I have not seen any response to 
this patch.
Has it been lost in the cracks of the wide internet ? :-(

Thanks, Woody


Woody Suwalski wrote:
> # Fix to avoid multiple error lines printed on every suspend by Radeon 
> driver's debugfs.
> #
> # radeon_debugfs_init() calls debugfs_create_file() for every ring.
> #
> # This results in printing multiple error lines to the screen and 
> dmesg similar to this:
> # debugfs: File 'radeon_ring_vce2' in directory '0000:00:01.0' already 
> present!
> #
> # The fix is to run lookup for the file before trying to (re)create 
> that debug file.
>
> # Signed-off-by: Woody Suwalski <terraluna977 at gmail.com>
>
> diff --git a/drivers/gpu/drm/radeon/radeon_ring.c 
> b/drivers/gpu/drm/radeon/radeon_ring.c
> index e6534fa9f1fb..72b1d2d31295 100644
> --- a/drivers/gpu/drm/radeon/radeon_ring.c
> +++ b/drivers/gpu/drm/radeon/radeon_ring.c
> @@ -549,10 +549,15 @@ static void radeon_debugfs_ring_init(struct 
> radeon_device *rdev, struct radeon_r
>  #if defined(CONFIG_DEBUG_FS)
>      const char *ring_name = radeon_debugfs_ring_idx_to_name(ring->idx);
>      struct dentry *root = rdev->ddev->primary->debugfs_root;
> -
> -    if (ring_name)
> -        debugfs_create_file(ring_name, 0444, root, ring,
> -                    &radeon_debugfs_ring_info_fops);
> +    struct dentry *lookup;
> +
> +    if (ring_name) {
> +        if ((lookup = debugfs_lookup(ring_name, root)) == NULL)
> +            debugfs_create_file(ring_name, 0444, root, ring,
> +                        &radeon_debugfs_ring_info_fops);
> +        else
> +            dput(lookup);
> +    }
>
>  #endif
>  }
>



More information about the amd-gfx mailing list