media: vsp1: Clean up DLM objects on error

If there is an error allocating a display list within a DLM object
the existing display lists are not free'd, and neither is the DL body
pool.

Use the existing vsp1_dlm_destroy() function to clean up on error.

Signed-off-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
Kieran Bingham 2018-08-03 07:37:24 -04:00 committed by Mauro Carvalho Chehab
parent b6ee44d1ea
commit 8a3a0797de
1 changed files with 3 additions and 1 deletions

View File

@ -858,8 +858,10 @@ struct vsp1_dl_manager *vsp1_dlm_create(struct vsp1_device *vsp1,
struct vsp1_dl_list *dl;
dl = vsp1_dl_list_alloc(dlm);
if (!dl)
if (!dl) {
vsp1_dlm_destroy(dlm);
return NULL;
}
list_add_tail(&dl->list, &dlm->free);
}