[PATCH] drm/writeback: Delete drm_writeback_cleanup_job

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Feb 21 10:36:12 UTC 2019


Hi Brian,

On Thu, Feb 21, 2019 at 09:34:10AM +0000, Brian Starkey wrote:
> On Thu, Feb 21, 2019 at 10:19:35AM +0200, Laurent Pinchart wrote:
> > Hi Daniel,
> > 
> > Thank you for the patch.
> > 
> > On Thu, Feb 21, 2019 at 12:24:01AM +0100, Daniel Vetter wrote:
> >> No implementation, no callers.
> > 
> > The issue here isn't that the function is declared, but that it's not
> > defined. Jobs are leaked when atomic commit fails (or when using test
> > commits). I'm working on a fix, please don't apply this patch in the
> > meantime.
> 
> Yeah, looking at the series somehow the call to cleanup the writeback
> job on failure looks like it got lost between v9 and v10. I saw a
> patch internally, but looks like James didn't send it to the list yet.
> 
> @James, could you send out your patch which fixes the cleanup on
> failure?

I've just posted

[PATCH v5 12/19] drm: writeback: Cleanup job ownership handling when queuing job
[PATCH v5 13/19] drm: writeback: Fix leak of writeback job

that should address this issue. The series also includes the RFC-like

[PATCH v5 14/19] drm: writeback: Add job prepare and cleanup operations

that addresses a separate issue with writeback support.

> >> Cc: Brian Starkey <brian.starkey at arm.com>
> >> Cc: Liviu Dudau <liviu.dudau at arm.com>
> >> Cc: Eric Anholt <eric at anholt.net>
> >> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
> >> ---
> >>  include/drm/drm_writeback.h | 2 --
> >>  1 file changed, 2 deletions(-)
> >> 
> >> diff --git a/include/drm/drm_writeback.h b/include/drm/drm_writeback.h
> >> index 23df9d463003..f34895f7fcb1 100644
> >> --- a/include/drm/drm_writeback.h
> >> +++ b/include/drm/drm_writeback.h
> >> @@ -125,8 +125,6 @@ int drm_writeback_connector_init(struct drm_device *dev,
> >>  void drm_writeback_queue_job(struct drm_writeback_connector *wb_connector,
> >>  			     struct drm_writeback_job *job);
> >>  
> >> -void drm_writeback_cleanup_job(struct drm_writeback_job *job);
> >> -
> >>  void
> >>  drm_writeback_signal_completion(struct drm_writeback_connector *wb_connector,
> >>  				int status);

-- 
Regards,

Laurent Pinchart


More information about the dri-devel mailing list