.. | .. |
---|
142 | 142 | |
---|
143 | 143 | ret = dma_mmap_attrs(priv->dma_dev, vma, mtk_gem->cookie, |
---|
144 | 144 | mtk_gem->dma_addr, obj->size, mtk_gem->dma_attrs); |
---|
145 | | - if (ret) |
---|
146 | | - drm_gem_vm_close(vma); |
---|
147 | 145 | |
---|
148 | 146 | return ret; |
---|
149 | 147 | } |
---|
.. | .. |
---|
251 | 249 | |
---|
252 | 250 | mtk_gem->kvaddr = vmap(mtk_gem->pages, npages, VM_MAP, |
---|
253 | 251 | pgprot_writecombine(PAGE_KERNEL)); |
---|
254 | | - |
---|
| 252 | + if (!mtk_gem->kvaddr) { |
---|
| 253 | + kfree(sgt); |
---|
| 254 | + kfree(mtk_gem->pages); |
---|
| 255 | + return NULL; |
---|
| 256 | + } |
---|
255 | 257 | out: |
---|
256 | 258 | kfree(sgt); |
---|
257 | 259 | |
---|
.. | .. |
---|
266 | 268 | return; |
---|
267 | 269 | |
---|
268 | 270 | vunmap(vaddr); |
---|
269 | | - mtk_gem->kvaddr = 0; |
---|
| 271 | + mtk_gem->kvaddr = NULL; |
---|
270 | 272 | kfree(mtk_gem->pages); |
---|
271 | 273 | } |
---|