[PATCHv2 01/17] drm/omap: fix omap_fbdev_free() when omap_fbdev_create() wasn't called

Sebastian Reichel sre at ring0.de
Sun Jun 10 12:22:36 UTC 2018


Hi,

On Wed, Feb 28, 2018 at 01:25:58PM +0200, 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>
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---

Reviewed-by: Sebastian Reichel <sebastian.reichel at collabora.co.uk>

-- Sebastian

>  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)
> -- 
> Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
> Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20180610/66774f87/attachment.sig>


More information about the dri-devel mailing list