|
@@ -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);
|