r600g/compute: Fix bug in compute memory pool

When adding a new buffer to the beginning of the memory pool, we were
accidentally deleting the buffer that was first in the buffer list.
This was caused by a bug in the memory pool's linked list
implementation.
This commit is contained in:
Tom Stellard 2013-08-26 13:06:53 -07:00
parent f0435ebb07
commit 505fad04f1

View file

@ -337,14 +337,9 @@ void compute_memory_finalize_pending(struct compute_memory_pool* pool,
}
} else {
/* Add item to the front of the list */
item->next = pool->item_list->next;
if (pool->item_list->next) {
pool->item_list->next->prev = item;
}
item->next = pool->item_list;
item->prev = pool->item_list->prev;
if (pool->item_list->prev) {
pool->item_list->prev->next = item;
}
pool->item_list->prev = item;
pool->item_list = item;
}
}