Thanks to "Christoph Bumiller <[email protected]>" for hinting at 
the cause of the problem.

Signed-off-by: Maarten Maathuis <[email protected]>
---
 src/nouveau_exa.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/nouveau_exa.c b/src/nouveau_exa.c
index c51a799..bb946b6 100644
--- a/src/nouveau_exa.c
+++ b/src/nouveau_exa.c
@@ -185,6 +185,8 @@ nouveau_exa_scratch(NVPtr pNv, int size, struct nouveau_bo 
**pbo, int *off)
                }
 
                nouveau_bo_ref(bo, &pNv->transfer);
+               /* Lower the refcount of the bo back to 1, otherwise it will 
never be freed. */
+               nouveau_bo_ref(NULL, &bo);
                pNv->transfer_offset = 0;
        }
 
-- 
1.7.8.6

_______________________________________________
Nouveau mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to