[PATCH] staging: omapdrm: fix crash when freeing bad fb

Rob Clark rob.clark at linaro.org
Thu May 24 11:41:47 PDT 2012


On Thu, May 24, 2012 at 10:44 AM, Andy Gross <andy.gross at ti.com> wrote:
> During unload, don't cleanup the framebuffer if it is not valid.
>
> Signed-off-by: Andy Gross <andy.gross at ti.com>

Reviewed-by: Rob Clark <rob.clark at linaro.org>

> ---
>  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 11acd4c..8c6ed3b 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,
>         */
>        ret = omap_gem_get_paddr(fbdev->bo, &paddr, true);
>        if (ret) {
> -               dev_err(dev->dev, "could not map (paddr)!\n");
> +               dev_err(dev->dev,
> +                       "could not map (paddr)!  Skipping framebuffer alloc\n");
>                ret = -ENOMEM;
>                goto fail;
>        }
> @@ -388,8 +389,11 @@ void omap_fbdev_free(struct drm_device *dev)
>
>        fbi = helper->fbdev;
>
> -       unregister_framebuffer(fbi);
> -       framebuffer_release(fbi);
> +       /* only cleanup framebuffer if it is present */
> +       if (fbi) {
> +               unregister_framebuffer(fbi);
> +               framebuffer_release(fbi);
> +       }
>
>        drm_fb_helper_fini(helper);
>
> --
> 1.7.5.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-omap" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


More information about the dri-devel mailing list