diff mbox

drm: Fix error handling in drm_connector_register

Message ID 1462539302-27764-1-git-send-email-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter May 6, 2016, 12:55 p.m. UTC
When debugfs or sysfs registration failed, we failed to clean up the
idr registration. Reorder to fix this.

Cc: Dave Airlie <airlied@gmail.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 drivers/gpu/drm/drm_crtc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Chris Wilson May 18, 2016, 8:47 a.m. UTC | #1
On Fri, May 06, 2016 at 02:55:02PM +0200, Daniel Vetter wrote:
> When debugfs or sysfs registration failed, we failed to clean up the
> idr registration. Reorder to fix this.
> 
> Cc: Dave Airlie <airlied@gmail.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Had to check that we could do the idr_replace after exposing
sysfs/debugfs objects and came to the conclusion that those objects do
not depend upon the idr, so
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c
index a93cb4cffb0e..8842909b93d6 100644
--- a/drivers/gpu/drm/drm_crtc.c
+++ b/drivers/gpu/drm/drm_crtc.c
@@ -1030,8 +1030,6 @@  int drm_connector_register(struct drm_connector *connector)
 {
 	int ret;
 
-	drm_mode_object_register(connector->dev, &connector->base);
-
 	ret = drm_sysfs_connector_add(connector);
 	if (ret)
 		return ret;
@@ -1042,6 +1040,8 @@  int drm_connector_register(struct drm_connector *connector)
 		return ret;
 	}
 
+	drm_mode_object_register(connector->dev, &connector->base);
+
 	return 0;
 }
 EXPORT_SYMBOL(drm_connector_register);