]> git.hungrycats.org Git - linux/commitdiff
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)
committerJiri Slaby <jslaby@suse.cz>
Thu, 17 Jul 2014 13:04:36 +0000 (15:04 +0200)
commit ec65da385d46f63740c1c9230b891a6dcbd64c71 upstream.

It hangs the hardware.

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
drivers/gpu/drm/radeon/radeon_cs.c

index b2b8b38f0319a8fd6ebf54e35b6cc1a2e5e182a8..ed9a997c99a35e6553da4434f4a717e1227e15d3 100644 (file)
@@ -97,6 +97,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].lobj.domain = domain;
                        if (domain == RADEON_GEM_DOMAIN_VRAM)
                                domain |= RADEON_GEM_DOMAIN_GTT;