diff options
Diffstat (limited to 'drivers/video/tegra/nvmap/nvmap.c')
-rw-r--r-- | drivers/video/tegra/nvmap/nvmap.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/video/tegra/nvmap/nvmap.c b/drivers/video/tegra/nvmap/nvmap.c index e5d829b3d05d..4e84c05dab48 100644 --- a/drivers/video/tegra/nvmap/nvmap.c +++ b/drivers/video/tegra/nvmap/nvmap.c @@ -594,12 +594,15 @@ phys_addr_t _nvmap_pin(struct nvmap_client *client, if (h->heap_pgalloc && h->pgalloc.dirty) ret = map_iovmm_area(h); if (ret) - goto err_out; + goto err_out_unpin; phys = handle_phys(h); } return phys; +err_out_unpin: + nvmap_handle_get(h); + handle_unpin(client, h, true); err_out: atomic_dec(&ref->pin); nvmap_handle_put(h); |