diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_fb.c')
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_fb.c | 12 | 
1 files changed, 9 insertions, 3 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c index e192acfbf0c..dc1634bb0c1 100644 --- a/drivers/gpu/drm/radeon/radeon_fb.c +++ b/drivers/gpu/drm/radeon/radeon_fb.c @@ -363,6 +363,7 @@ int radeon_fbdev_init(struct radeon_device *rdev)  {  	struct radeon_fbdev *rfbdev;  	int bpp_sel = 32; +	int ret;  	/* select 8 bpp console on RN50 or 16MB cards */  	if (ASIC_IS_RN50(rdev) || rdev->mc.real_vram_size <= (32*1024*1024)) @@ -376,9 +377,14 @@ int radeon_fbdev_init(struct radeon_device *rdev)  	rdev->mode_info.rfbdev = rfbdev;  	rfbdev->helper.funcs = &radeon_fb_helper_funcs; -	drm_fb_helper_init(rdev->ddev, &rfbdev->helper, -			   rdev->num_crtc, -			   RADEONFB_CONN_LIMIT); +	ret = drm_fb_helper_init(rdev->ddev, &rfbdev->helper, +				 rdev->num_crtc, +				 RADEONFB_CONN_LIMIT); +	if (ret) { +		kfree(rfbdev); +		return ret; +	} +  	drm_fb_helper_single_add_all_connectors(&rfbdev->helper);  	drm_fb_helper_initial_config(&rfbdev->helper, bpp_sel);  	return 0;  |