[PATCH 01/24] drm/omap: fix omap_fbdev_free() when omap_fbdev_create() wasn't called
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Tue Feb 27 11:28:52 UTC 2018
Hi Tomi,
Thank you for the patch.
On Monday, 12 February 2018 11:44:31 EET Tomi Valkeinen wrote:
> If we have no crtcs/connectors, fbdev init goes fine, but
> omap_fbdev_create() is never called. This means that omap_fbdev->bo is
> NULL and omap_fbdev_free() crashes.
>
> Add a check to omap_fbdev_free() to handle the NULL case.
>
> Signed-off-by: Tomi Valkeinen <tomi.valkeinen at ti.com>
I wonder whether we shouldn't fail probe if we have no CRTC or connector, but
regardless of that, this change looks good to me.
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
> drivers/gpu/drm/omapdrm/omap_fbdev.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_fbdev.c
> b/drivers/gpu/drm/omapdrm/omap_fbdev.c index 1ace63e2ff22..632ebcf2165f
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_fbdev.c
> +++ b/drivers/gpu/drm/omapdrm/omap_fbdev.c
> @@ -303,7 +303,8 @@ void omap_fbdev_free(struct drm_device *dev)
> fbdev = to_omap_fbdev(priv->fbdev);
>
> /* unpin the GEM object pinned in omap_fbdev_create() */
> - omap_gem_unpin(fbdev->bo);
> + if (fbdev->bo)
> + omap_gem_unpin(fbdev->bo);
>
> /* this will free the backing object */
> if (fbdev->fb)
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list