DF-1969 / fix.diff
diff --git a/sys/dev/drm/radeon/radeon_fb.c b/sys/dev/drm/radeon/radeon_fb.c --- a/sys/dev/drm/radeon/radeon_fb.c +++ b/sys/dev/drm/radeon/radeon_fb.c @@ -322,13 +322,15 @@ out: if (rbo) { - + radeon_bo_unreserve(rbo); } - if (fb && ret) { - drm_gem_object_put_unlocked(gobj); - drm_framebuffer_unregister_private(fb); - drm_framebuffer_cleanup(fb); - kfree(fb); + if (ret) { + if (gobj) + drm_gem_object_put_unlocked(gobj); + if (fb) { + drm_framebuffer_unregister_private(fb); + drm_framebuffer_cleanup(fb); + } } return ret; } |