drm/ttm: Fix buffer object metadata accounting regression v2
authorThomas Hellstrom <thellstrom@vmware.com>
Tue, 12 Jun 2012 11:28:42 +0000 (13:28 +0200)
committerDave Airlie <airlied@redhat.com>
Tue, 12 Jun 2012 14:57:47 +0000 (15:57 +0100)
commita393c730ab69617c3291a3b0b2a228c9be2fc28c
tree3b85276fbf84baf89bd4b6e8903f74e25540f58e
parentfe4561680519019cc15d660862dce513ded2f3a7
drm/ttm: Fix buffer object metadata accounting regression v2

A regression was introduced in the 3.3 rc series, commit
"drm/ttm: simplify memory accounting for ttm user v2",
causing the metadata of buffer objects created using the ttm_bo_create()
function to be accounted twice.
That causes massive leaks with the vmwgfx driver running for example
SpecViewperf Catia-03 test 2, eventually killing the app.

Furthermore, the same commit introduces a regression where
metadata accounting is leaked if a buffer object is
initialized with an illegal size. This is also fixed with this commit.

v2: Fixed an error path and removed an unused variable.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Jerome Glisse <jglisse@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/ttm/ttm_bo.c