Am 10.12.23 um 19:24 schrieb Woody Suwalski:
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 ? :-(
Well your patch is malformed ("#" before each line in the commit
message) and probably ended up being ignored because of that.
Apart from that it would probably be much easier to move the call to
radeon_debugfs_ring_init() into the if (ring->ring_obj == NULL) check in
the caller.
Regards,
Christian.
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@xxxxxxxxx>
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
}