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

+
+	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;

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