On Tue, Mar 28, 2017 at 01:13:43PM -0700, Eric Anholt wrote: > Without this, the first modeset would dereference past the allocation > when trying to free the mm node. > > Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> > Tested-by: Stefan Wahren <stefan.wahren@xxxxxxxx> Fixes: d8dbf44f13b9 ("drm/vc4: Make the CRTCs cooperate on allocating display lists.") Cc: <stable@xxxxxxxxxxxxxxx> # v4.6+ Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx> > --- > drivers/gpu/drm/vc4/vc4_crtc.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c > index 24edd0c22cc9..9d91a40e4345 100644 > --- a/drivers/gpu/drm/vc4/vc4_crtc.c > +++ b/drivers/gpu/drm/vc4/vc4_crtc.c > @@ -845,6 +845,17 @@ static void vc4_crtc_destroy_state(struct drm_crtc *crtc, > drm_atomic_helper_crtc_destroy_state(crtc, state); > } > > +static void > +vc4_crtc_reset(struct drm_crtc *crtc) > +{ > + if (crtc->state) > + __drm_atomic_helper_crtc_destroy_state(crtc->state); > + > + crtc->state = kzalloc(sizeof(struct vc4_crtc_state), GFP_KERNEL); > + if (crtc->state) > + crtc->state->crtc = crtc; > +} > + > static const struct drm_crtc_funcs vc4_crtc_funcs = { > .set_config = drm_atomic_helper_set_config, > .destroy = vc4_crtc_destroy, > @@ -852,7 +863,7 @@ static const struct drm_crtc_funcs vc4_crtc_funcs = { > .set_property = NULL, > .cursor_set = NULL, /* handled by drm_mode_cursor_universal */ > .cursor_move = NULL, /* handled by drm_mode_cursor_universal */ > - .reset = drm_atomic_helper_crtc_reset, > + .reset = vc4_crtc_reset, > .atomic_duplicate_state = vc4_crtc_duplicate_state, > .atomic_destroy_state = vc4_crtc_destroy_state, > .gamma_set = vc4_crtc_gamma_set, > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel