diff options
author | Maarten Lankhorst <maarten.lankhorst@canonical.com> | 2013-01-15 14:54:22 +0100 |
---|---|---|
committer | Maarten Lankhorst <maarten.lankhorst@canonical.com> | 2013-01-15 14:54:22 +0100 |
commit | 979ee290ff0a543352243145dc3654af5a856ab8 (patch) | |
tree | d4dcda47c61c10f4dc62a4b123fbdc747c256a62 | |
parent | 42f6e3da974dc8ad81775110c8d06835acdf375e (diff) | |
download | op-kernel-dev-979ee290ff0a543352243145dc3654af5a856ab8.zip op-kernel-dev-979ee290ff0a543352243145dc3654af5a856ab8.tar.gz |
drm/nouveau: increase reservation sequence every retry
This is temporary until the fence framework can be used. With the
lru/reservation atomicity removal it is possible to see your old
sequence number and the buffer being reserved, leading to erroneously
reporting -EDEADLK.
Workaround it by bumping the sequence number every retry.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
-rw-r--r-- | drivers/gpu/drm/nouveau/nouveau_gem.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/nouveau_gem.c b/drivers/gpu/drm/nouveau/nouveau_gem.c index 8bf695c..9fcfcb2 100644 --- a/drivers/gpu/drm/nouveau/nouveau_gem.c +++ b/drivers/gpu/drm/nouveau/nouveau_gem.c @@ -321,8 +321,8 @@ validate_init(struct nouveau_channel *chan, struct drm_file *file_priv, int trycnt = 0; int ret, i; - sequence = atomic_add_return(1, &drm->ttm.validate_sequence); retry: + sequence = atomic_add_return(1, &drm->ttm.validate_sequence); if (++trycnt > 100000) { NV_ERROR(drm, "%s failed and gave up.\n", __func__); return -EINVAL; |