During device bringup it might be that we can't access the debugfs files.
Return -ENODEV until the registration is completed on access.

Signed-off-by: Christian König <christian.koe...@amd.com>
---
 drivers/gpu/drm/drm_debugfs.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
index 54376e2400bb..796cda62ad12 100644
--- a/drivers/gpu/drm/drm_debugfs.c
+++ b/drivers/gpu/drm/drm_debugfs.c
@@ -148,6 +148,9 @@ static int drm_debugfs_open(struct inode *inode, struct 
file *file)
 {
        struct drm_info_node *node = inode->i_private;
 
+       if (!device_is_registered(node->minor->kdev))
+               return -ENODEV;
+
        return single_open(file, node->info_ent->show, node);
 }
 
@@ -155,6 +158,10 @@ static int drm_debugfs_entry_open(struct inode *inode, 
struct file *file)
 {
        struct drm_debugfs_entry *entry = inode->i_private;
        struct drm_debugfs_info *node = &entry->file;
+       struct drm_minor *minor = entry->dev->primary ?: entry->dev->accel;
+
+       if (!device_is_registered(minor->kdev))
+               return -ENODEV;
 
        return single_open(file, node->show, entry);
 }
-- 
2.34.1

Reply via email to