drm/radeon: don't allow RADEON_GEM_DOMAIN_CPU for command submission
authorMarek Olšák <marek.olsak@amd.com>
Tue, 27 May 2014 00:56:36 +0000 (02:56 +0200)
committerChristian König <christian.koenig@amd.com>
Fri, 30 May 2014 12:21:49 +0000 (14:21 +0200)
It hangs the hardware.

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/radeon_cs.c

index 4b6f5b82415309cbdd427fafe5d683e43ecc63ce..41ecf8a606117caa02954e720af0fb4ad690139e 100644 (file)
@@ -152,6 +152,12 @@ static int radeon_cs_parser_relocs(struct radeon_cs_parser *p)
                        uint32_t domain = r->write_domain ?
                                r->write_domain : r->read_domains;
 
+                       if (domain & RADEON_GEM_DOMAIN_CPU) {
+                               DRM_ERROR("RADEON_GEM_DOMAIN_CPU is not valid "
+                                         "for command submission\n");
+                               return -EINVAL;
+                       }
+
                        p->relocs[i].domain = domain;
                        if (domain == RADEON_GEM_DOMAIN_VRAM)
                                domain |= RADEON_GEM_DOMAIN_GTT;