diff options
| author | 2016-02-08 10:57:22 +0100 | |
|---|---|---|
| committer | 2016-02-10 14:16:43 -0500 | |
| commit | d7006964d46d76930a44e14f1aae401ccb1797da (patch) | |
| tree | 5688e0d3eaed9d4fdf404dfe6bfbe5a1c2a9be19 /drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | |
| parent | drm/tegra: drop unused variable. (diff) | |
| download | wireguard-linux-d7006964d46d76930a44e14f1aae401ccb1797da.tar.xz wireguard-linux-d7006964d46d76930a44e14f1aae401ccb1797da.zip | |
drm/amdgpu: fix issue with overlapping userptrs
Otherwise we could try to evict overlapping userptr BOs in get_user_pages(),
leading to a possible circular locking dependency.
Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c index b1969f2b2038..d4e2780c0796 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c @@ -142,7 +142,8 @@ static void amdgpu_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) + if (!amdgpu_ttm_tt_affect_userptr(bo->tbo.ttm, start, + end)) continue; r = amdgpu_bo_reserve(bo, true); |
