Commit ad9ac437 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau: add some debug output if nouveau_mm busy at destroy time

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent e41f26e7
...@@ -158,11 +158,18 @@ int ...@@ -158,11 +158,18 @@ int
nouveau_mm_fini(struct nouveau_mm **prmm) nouveau_mm_fini(struct nouveau_mm **prmm)
{ {
struct nouveau_mm *rmm = *prmm; struct nouveau_mm *rmm = *prmm;
struct nouveau_mm_node *heap = struct nouveau_mm_node *node, *heap =
list_first_entry(&rmm->nodes, struct nouveau_mm_node, nl_entry); list_first_entry(&rmm->nodes, struct nouveau_mm_node, nl_entry);
if (!list_is_singular(&rmm->nodes)) if (!list_is_singular(&rmm->nodes)) {
printk(KERN_ERR "nouveau_mm not empty at destroy time!\n");
list_for_each_entry(node, &rmm->nodes, nl_entry) {
printk(KERN_ERR "0x%02x: 0x%08x 0x%08x\n",
node->type, node->offset, node->length);
}
WARN_ON(1);
return -EBUSY; return -EBUSY;
}
kfree(heap); kfree(heap);
kfree(rmm); kfree(rmm);
......
...@@ -396,8 +396,8 @@ nouveau_vm_del(struct nouveau_vm *vm) ...@@ -396,8 +396,8 @@ nouveau_vm_del(struct nouveau_vm *vm)
list_for_each_entry_safe(vpgd, tmp, &vm->pgd_list, head) { list_for_each_entry_safe(vpgd, tmp, &vm->pgd_list, head) {
nouveau_vm_unlink(vm, vpgd->obj); nouveau_vm_unlink(vm, vpgd->obj);
} }
WARN_ON(nouveau_mm_fini(&vm->mm) != 0);
nouveau_mm_fini(&vm->mm);
kfree(vm->pgt); kfree(vm->pgt);
kfree(vm); kfree(vm);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment