projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
db12973
)
drm/radeon: fix userptr lockup
author
Christian König
<christian.koenig@amd.com>
Tue, 5 May 2015 07:52:12 +0000
(09:52 +0200)
committer
Alex Deucher
<alexander.deucher@amd.com>
Thu, 7 May 2015 15:00:15 +0000
(11:00 -0400)
We shouldn't try to reserve and wait for a BO that isn't bound. Otherwise
we can run into a deadlock if we have a fault during binding the BO.
Signed-off-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon_mn.c
patch
|
blob
|
history
diff --git
a/drivers/gpu/drm/radeon/radeon_mn.c
b/drivers/gpu/drm/radeon/radeon_mn.c
index 535bf404b725f8aea3f58ddcb5a082b992212329..eef006c4858499dd207c6eb70ad5fcbc05c53941 100644
(file)
--- a/
drivers/gpu/drm/radeon/radeon_mn.c
+++ b/
drivers/gpu/drm/radeon/radeon_mn.c
@@
-142,6
+142,9
@@
static void radeon_mn_invalidate_range_start(struct mmu_notifier *mn,
list_for_each_entry(bo, &node->bos, mn_list) {
+ if (!bo->tbo.ttm || bo->tbo.ttm->state != tt_bound)
+ continue;
+
r = radeon_bo_reserve(bo, true);
if (r) {
DRM_ERROR("(%ld) failed to reserve user bo\n", r);