From: Gustavo Padovan <gustavo.pado...@collabora.co.uk>

Once sw_sync_ioctl_create_fence() returns we no longer have the
*pt pointer to the fence base object thus we need to put the reference
we have from the fence creation to keep a correct reference accounting.

Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
---
 drivers/dma-buf/sw_sync.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/dma-buf/sw_sync.c b/drivers/dma-buf/sw_sync.c
index 82e0ca4..efed2b7 100644
--- a/drivers/dma-buf/sw_sync.c
+++ b/drivers/dma-buf/sw_sync.c
@@ -316,8 +316,8 @@ static long sw_sync_ioctl_create_fence(struct sync_timeline 
*obj,
        }

        sync_file = sync_file_create(&pt->base);
+       dma_fence_put(&pt->base);
        if (!sync_file) {
-               dma_fence_put(&pt->base);
                err = -ENOMEM;
                goto err;
        }
-- 
2.5.5

Reply via email to