From 65b0bd067df97737b9a13d92934d8f581cb0b07a Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 9 Dec 2011 23:26:07 -0600 Subject: [PATCH] staging: drm/omap: crtc/encoder/fb destroy cleanups Signed-off-by: Rob Clark Signed-off-by: Greg Kroah-Hartman --- drivers/staging/omapdrm/omap_crtc.c | 3 +-- drivers/staging/omapdrm/omap_encoder.c | 3 +-- drivers/staging/omapdrm/omap_fb.c | 6 ++---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/staging/omapdrm/omap_crtc.c b/drivers/staging/omapdrm/omap_crtc.c index fd09bcfab858..cffdf5e12394 100644 --- a/drivers/staging/omapdrm/omap_crtc.c +++ b/drivers/staging/omapdrm/omap_crtc.c @@ -320,8 +320,7 @@ struct drm_crtc *omap_crtc_init(struct drm_device *dev, fail: if (crtc) { - drm_crtc_cleanup(crtc); - kfree(omap_crtc); + omap_crtc_destroy(crtc); } return NULL; } diff --git a/drivers/staging/omapdrm/omap_encoder.c b/drivers/staging/omapdrm/omap_encoder.c index 83bacd8fd362..06c52cb62d2f 100644 --- a/drivers/staging/omapdrm/omap_encoder.c +++ b/drivers/staging/omapdrm/omap_encoder.c @@ -164,8 +164,7 @@ struct drm_encoder *omap_encoder_init(struct drm_device *dev, fail: if (encoder) { - drm_encoder_cleanup(encoder); - kfree(omap_encoder); + omap_encoder_destroy(encoder); } return NULL; diff --git a/drivers/staging/omapdrm/omap_fb.c b/drivers/staging/omapdrm/omap_fb.c index 491be5395d85..3f62505813c2 100644 --- a/drivers/staging/omapdrm/omap_fb.c +++ b/drivers/staging/omapdrm/omap_fb.c @@ -53,11 +53,9 @@ static void omap_framebuffer_destroy(struct drm_framebuffer *fb) drm_framebuffer_cleanup(fb); - if (omap_gem_put_paddr(omap_fb->bo)) { - dev_err(dev->dev, "could not unmap!\n"); - } - if (omap_fb->bo) { + if (omap_fb->paddr && omap_gem_put_paddr(omap_fb->bo)) + dev_err(dev->dev, "could not unmap!\n"); drm_gem_object_unreference_unlocked(omap_fb->bo); } -- 2.39.5