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 <lihaoxiang@isrc.iscas.ac.cn>
---
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