]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Revert "drm/radeon: Use drm_calloc_ab for CS relocs"
authorZefan Li <lizefan@huawei.com>
Sun, 11 Oct 2015 08:03:09 +0000 (16:03 +0800)
committerZefan Li <lizefan@huawei.com>
Thu, 22 Oct 2015 01:20:07 +0000 (09:20 +0800)
This reverts commit 961bd13539b9e7ca5d2e667668141496b7a1d6bc.

Both Satoshi-san and Cal reported a kernel crash due to this commit.

Reported-by: Satoshi Iwamoto <satoshi.iwamoto@nifty.ne.jp>
Reported-by: Cal Peake <cp@absolutedigital.net>
Signed-off-by: Zefan Li <lizefan@huawei.com>
drivers/gpu/drm/radeon/radeon_cs.c

index d66d2cdf4f0abe91b0d5a0d26ee8579de2e69acb..f3ee36036487456e8f008fdbcfd70ddd61db1217 100644 (file)
@@ -49,7 +49,7 @@ int radeon_cs_parser_relocs(struct radeon_cs_parser *p)
        if (p->relocs_ptr == NULL) {
                return -ENOMEM;
        }
-       p->relocs = drm_calloc_large(p->nrelocs, sizeof(struct radeon_bo_list));
+       p->relocs = kcalloc(p->nrelocs, sizeof(struct radeon_cs_reloc), GFP_KERNEL);
        if (p->relocs == NULL) {
                return -ENOMEM;
        }
@@ -324,7 +324,7 @@ static void radeon_cs_parser_fini(struct radeon_cs_parser *parser, int error)
                }
        }
        kfree(parser->track);
-       drm_free_large(parser->relocs);
+       kfree(parser->relocs);
        kfree(parser->relocs_ptr);
        for (i = 0; i < parser->nchunks; i++) {
                kfree(parser->chunks[i].kdata);