 +
 +	vma = nouveau_bo_vma_find(bo, chan->vm);
 +	if (vma) {
-+#if 0 /* this function call crushes the system sometimes... */
 +		nouveau_bo_vma_del(bo, vma);
 +		kfree(vma);
-+#endif
 +	}
 +	else
 +		return -ENOENT;

+
+	if (addr) {
+		vma = nouveau_bo_vma_find(bo, chan->vm);
+#if 0 /* this function call crushes the system sometimes... */
+		if (vma) {
+			nouveau_bo_vma_del(bo, vma);
+			kfree(vma);

+		else {
+			return -ENOENT;
+		}
+	}
+
+	nouveau_bo_ref(NULL, &bo);
