Messages in this thread Patch in this message | | | From | Ard Biesheuvel <> | Subject | [PATCH] drm/nouveau/imem/nv50: fix incorrect use of refcount API | Date | Fri, 8 Dec 2017 18:30:34 +0000 |
| |
Commit be55287aa5b ("drm/nouveau/imem/nv50: embed nvkm_instobj directly into nv04_instobj") introduced some new calls to the refcount api to the nv50 mapping code. In one particular instance, it does the following:
if (!refcount_inc_not_zero(&iobj->maps)) { ... refcount_inc(&iobj->maps); }
i.e., it calls refcount_inc() to increment the refcount when it is known to be zero, which is explicitly forbidden by the API. Instead, use refcount_set() to set it to 1.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> ---
Apologies if this was already found and fixed. I don't usually follow the DRM or nouveau mailing lists.
drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c index 1ba7289684aa..db48a1daca0c 100644 --- a/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/nv50.c @@ -249,7 +249,7 @@ nv50_instobj_acquire(struct nvkm_memory *memory) iobj->base.memory.ptrs = &nv50_instobj_fast; else iobj->base.memory.ptrs = &nv50_instobj_slow; - refcount_inc(&iobj->maps); + refcount_set(&iobj->maps, 1); } mutex_unlock(&imem->subdev.mutex); -- 2.11.0
| |