Am Freitag, den 20.11.2015, 16:14 +0800 schrieb Liu Ying: > To avoid memory leakage, we need to cleanup ipu planes in ipu_drm_unbind(). > > Signed-off-by: Liu Ying <Ying.Liu at freescale.com> > --- > This patch applies to the imx-drm/fixes branch of Philipp Zabel's open git. > > drivers/gpu/drm/imx/ipuv3-crtc.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c > b/drivers/gpu/drm/imx/ipuv3-crtc.c > index 59f44df..467905c 100644 > --- a/drivers/gpu/drm/imx/ipuv3-crtc.c > +++ b/drivers/gpu/drm/imx/ipuv3-crtc.c > @@ -446,6 +446,11 @@ static void ipu_drm_unbind(struct device *dev, struct > device *master, > imx_drm_remove_crtc(ipu_crtc->imx_crtc); > > ipu_plane_put_resources(ipu_crtc->plane[0]); > + > + if (ipu_crtc->plane[1]) > + ipu_plane_cleanup(ipu_crtc->plane[1]); > + ipu_plane_cleanup(ipu_crtc->plane[0]); > + > ipu_put_resources(ipu_crtc); > } >
Shouldn't this already be handled by the DRM core calling the plane->destroy callbacks from drm_mode_config_cleanup (called by imx_drm_driver_unload shortly after component_unbind_all)? regards Philipp