diff options
Diffstat (limited to 'drivers/gpu/drm/i915/intel_fb.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_fb.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c index dfbb0c6e1f5..c3c505244e0 100644 --- a/drivers/gpu/drm/i915/intel_fb.c +++ b/drivers/gpu/drm/i915/intel_fb.c | |||
@@ -245,6 +245,7 @@ int intel_fbdev_init(struct drm_device *dev) | |||
245 | { | 245 | { |
246 | struct intel_fbdev *ifbdev; | 246 | struct intel_fbdev *ifbdev; |
247 | drm_i915_private_t *dev_priv = dev->dev_private; | 247 | drm_i915_private_t *dev_priv = dev->dev_private; |
248 | int ret; | ||
248 | 249 | ||
249 | ifbdev = kzalloc(sizeof(struct intel_fbdev), GFP_KERNEL); | 250 | ifbdev = kzalloc(sizeof(struct intel_fbdev), GFP_KERNEL); |
250 | if (!ifbdev) | 251 | if (!ifbdev) |
@@ -253,8 +254,13 @@ int intel_fbdev_init(struct drm_device *dev) | |||
253 | dev_priv->fbdev = ifbdev; | 254 | dev_priv->fbdev = ifbdev; |
254 | ifbdev->helper.funcs = &intel_fb_helper_funcs; | 255 | ifbdev->helper.funcs = &intel_fb_helper_funcs; |
255 | 256 | ||
256 | drm_fb_helper_init(dev, &ifbdev->helper, dev_priv->num_pipe, | 257 | ret = drm_fb_helper_init(dev, &ifbdev->helper, |
257 | INTELFB_CONN_LIMIT); | 258 | dev_priv->num_pipe, |
259 | INTELFB_CONN_LIMIT); | ||
260 | if (ret) { | ||
261 | kfree(ifbdev); | ||
262 | return ret; | ||
263 | } | ||
258 | 264 | ||
259 | drm_fb_helper_single_add_all_connectors(&ifbdev->helper); | 265 | drm_fb_helper_single_add_all_connectors(&ifbdev->helper); |
260 | drm_fb_helper_initial_config(&ifbdev->helper, 32); | 266 | drm_fb_helper_initial_config(&ifbdev->helper, 32); |