aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2009-09-28 01:37:25 -0400
committerDave Airlie <airlied@linux.ie>2009-09-28 01:37:25 -0400
commit4c57edba4588ddba40017fbde3cd356e600bdf80 (patch)
tree80c8c89ba2dc7092576dbe2de5bc6dc2612aabe5 /drivers
parent74bf2ad508efa93db4254c9da9c7238da44e2c58 (diff)
drm/r600: fix memory leak introduced with 64k malloc avoidance fix.
The legacy r600 path shares code, but doesn't share quite enough to get the freeing correct. Free the pages here also. Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/radeon/r600_cs.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
index ac7d93e2d5d5..06eab79c2eec 100644
--- a/drivers/gpu/drm/radeon/r600_cs.c
+++ b/drivers/gpu/drm/radeon/r600_cs.c
@@ -722,6 +722,8 @@ static void r600_cs_parser_fini(struct radeon_cs_parser *parser, int error)
722 kfree(parser->relocs); 722 kfree(parser->relocs);
723 for (i = 0; i < parser->nchunks; i++) { 723 for (i = 0; i < parser->nchunks; i++) {
724 kfree(parser->chunks[i].kdata); 724 kfree(parser->chunks[i].kdata);
725 kfree(parser->chunks[i].kpage[0]);
726 kfree(parser->chunks[i].kpage[1]);
725 } 727 }
726 kfree(parser->chunks); 728 kfree(parser->chunks);
727 kfree(parser->chunks_array); 729 kfree(parser->chunks_array);