diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c index f5fb93795a69..dd9a4fb9ce39 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | |||
@@ -826,21 +826,13 @@ int amdgpu_debugfs_regs_init(struct amdgpu_device *adev) | |||
826 | { | 826 | { |
827 | struct drm_minor *minor = adev->ddev->primary; | 827 | struct drm_minor *minor = adev->ddev->primary; |
828 | struct dentry *ent, *root = minor->debugfs_root; | 828 | struct dentry *ent, *root = minor->debugfs_root; |
829 | unsigned i, j; | 829 | unsigned int i; |
830 | 830 | ||
831 | for (i = 0; i < ARRAY_SIZE(debugfs_regs); i++) { | 831 | for (i = 0; i < ARRAY_SIZE(debugfs_regs); i++) { |
832 | ent = debugfs_create_file(debugfs_regs_names[i], | 832 | ent = debugfs_create_file(debugfs_regs_names[i], |
833 | S_IFREG | S_IRUGO, root, | 833 | S_IFREG | S_IRUGO, root, |
834 | adev, debugfs_regs[i]); | 834 | adev, debugfs_regs[i]); |
835 | if (IS_ERR(ent)) { | 835 | if (!i && !IS_ERR_OR_NULL(ent)) |
836 | for (j = 0; j < i; j++) { | ||
837 | debugfs_remove(adev->debugfs_regs[i]); | ||
838 | adev->debugfs_regs[i] = NULL; | ||
839 | } | ||
840 | return PTR_ERR(ent); | ||
841 | } | ||
842 | |||
843 | if (!i) | ||
844 | i_size_write(ent->d_inode, adev->rmmio_size); | 836 | i_size_write(ent->d_inode, adev->rmmio_size); |
845 | adev->debugfs_regs[i] = ent; | 837 | adev->debugfs_regs[i] = ent; |
846 | } | 838 | } |