In vmw_ttm_bind(), if vmw_mob_create() fails, call vmw_ttm_unmap_dma() to release the memory allocated by vmw_ttm_map_dma().
Signed-off-by: Haoxiang Li <[email protected]> --- drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c index 5553892d7c3e..6f6a73a7c857 100644 --- a/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c +++ b/drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c @@ -299,8 +299,10 @@ static int vmw_ttm_bind(struct ttm_device *bdev, if (unlikely(vmw_be->mob == NULL)) { vmw_be->mob = vmw_mob_create(ttm->num_pages); - if (unlikely(vmw_be->mob == NULL)) + if (unlikely(vmw_be->mob == NULL)) { + vmw_ttm_unmap_dma(vmw_be); return -ENOMEM; + } } ret = vmw_mob_bind(vmw_be->dev_priv, vmw_be->mob, -- 2.25.1
