|
@@ -2476,8 +2476,10 @@ static void r600_cs_parser_fini(struct radeon_cs_parser *parser, int error)
|
|
|
kfree(parser->relocs);
|
|
|
for (i = 0; i < parser->nchunks; i++) {
|
|
|
kfree(parser->chunks[i].kdata);
|
|
|
- kfree(parser->chunks[i].kpage[0]);
|
|
|
- kfree(parser->chunks[i].kpage[1]);
|
|
|
+ if (parser->rdev && (parser->rdev->flags & RADEON_IS_AGP)) {
|
|
|
+ kfree(parser->chunks[i].kpage[0]);
|
|
|
+ kfree(parser->chunks[i].kpage[1]);
|
|
|
+ }
|
|
|
}
|
|
|
kfree(parser->chunks);
|
|
|
kfree(parser->chunks_array);
|