diff options
| -rw-r--r-- | drivers/staging/omapdrm/omap_fbdev.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/staging/omapdrm/omap_fbdev.c b/drivers/staging/omapdrm/omap_fbdev.c index 11acd4c35ed2..8c6ed3b0c6f6 100644 --- a/drivers/staging/omapdrm/omap_fbdev.c +++ b/drivers/staging/omapdrm/omap_fbdev.c | |||
| @@ -208,7 +208,8 @@ static int omap_fbdev_create(struct drm_fb_helper *helper, | |||
| 208 | */ | 208 | */ |
| 209 | ret = omap_gem_get_paddr(fbdev->bo, &paddr, true); | 209 | ret = omap_gem_get_paddr(fbdev->bo, &paddr, true); |
| 210 | if (ret) { | 210 | if (ret) { |
| 211 | dev_err(dev->dev, "could not map (paddr)!\n"); | 211 | dev_err(dev->dev, |
| 212 | "could not map (paddr)! Skipping framebuffer alloc\n"); | ||
| 212 | ret = -ENOMEM; | 213 | ret = -ENOMEM; |
| 213 | goto fail; | 214 | goto fail; |
| 214 | } | 215 | } |
| @@ -388,8 +389,11 @@ void omap_fbdev_free(struct drm_device *dev) | |||
| 388 | 389 | ||
| 389 | fbi = helper->fbdev; | 390 | fbi = helper->fbdev; |
| 390 | 391 | ||
| 391 | unregister_framebuffer(fbi); | 392 | /* only cleanup framebuffer if it is present */ |
| 392 | framebuffer_release(fbi); | 393 | if (fbi) { |
| 394 | unregister_framebuffer(fbi); | ||
| 395 | framebuffer_release(fbi); | ||
| 396 | } | ||
| 393 | 397 | ||
| 394 | drm_fb_helper_fini(helper); | 398 | drm_fb_helper_fini(helper); |
| 395 | 399 | ||
