summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_fb.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-03-09 07:23:17 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-09 07:23:17 -0800
commit45b8da90f2e1af7e1a233f03791c78ed0f831fca (patch)
tree6c0ca1399151674ff8fd5ef0b5e58bed9ed8c96a /drivers/gpu/drm/radeon/radeon_fb.c
parente304dfdb030bab29888151021843bd9e1743a535 (diff)
parent38aa4a568ba4c3ccba83e862a01e3e60e3b811ee (diff)
downloadlinux-45b8da90f2e1af7e1a233f03791c78ed0f831fca.tar.bz2
Merge branch 'drm-fixes' of git://people.freedesktop.org/~airlied/linux
Pull radeon drm stuff from Dave Airlie: "Just some radeon fixes, one is for an oops where we run out of ioremap space on some big hardware systems in 32-bit mode, stuff doesn't work properly but at least the machine will boot. One regression fix, and two bugs, one hw, one blit code." * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: drm/radeon/kms: fix hdmi duallink checks drm/radeon/kms: set SX_MISC in the r6xx blit code (v2) drm/radeon: deal with errors from framebuffer init path. drm/radeon: fix a semaphore deadlock on pre cayman asics
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_fb.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_fb.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c
index cf2bf35b56b8..195471cf65d3 100644
--- a/drivers/gpu/drm/radeon/radeon_fb.c
+++ b/drivers/gpu/drm/radeon/radeon_fb.c
@@ -209,6 +209,11 @@ static int radeonfb_create(struct radeon_fbdev *rfbdev,
sizes->surface_depth);
ret = radeonfb_create_pinned_object(rfbdev, &mode_cmd, &gobj);
+ if (ret) {
+ DRM_ERROR("failed to create fbcon object %d\n", ret);
+ return ret;
+ }
+
rbo = gem_to_radeon_bo(gobj);
/* okay we have an object now allocate the framebuffer */
@@ -220,7 +225,11 @@ static int radeonfb_create(struct radeon_fbdev *rfbdev,
info->par = rfbdev;
- radeon_framebuffer_init(rdev->ddev, &rfbdev->rfb, &mode_cmd, gobj);
+ ret = radeon_framebuffer_init(rdev->ddev, &rfbdev->rfb, &mode_cmd, gobj);
+ if (ret) {
+ DRM_ERROR("failed to initalise framebuffer %d\n", ret);
+ goto out_unref;
+ }
fb = &rfbdev->rfb.base;