Message ID | 1519817174-20714-2-git-send-email-tomi.valkeinen@ti.com |
---|---|
State | Accepted |
Commit | e6204a58b9e9ad01ab9c6d4b8b2b8b9c4e38bbba |
Headers | show |
Series | drm/omap: misc patches | expand |
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@ti.com> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- Reviewed-by: Sebastian Reichel <sebastian.reichel@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@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel
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)