Dan Carpenter
2018-May-30 10:17 UTC
[Nouveau] [PATCH] drm/nouveau/core: ERR_PTR vs NULL bug in nvkm_engine_info()
The nvkm_engine_ref() function returns error pointers, not NULL on error. I fixed that but I also had to reverse some of the checks so it didn't become too convoluted. Fixes: c5c9127b25b2 ("drm/nouveau/device: implement a generic method to query device-specific properties") Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com> diff --git a/drivers/gpu/drm/nouveau/nvkm/core/engine.c b/drivers/gpu/drm/nouveau/nvkm/core/engine.c index d0322ce85172..ee3fbee905e6 100644 --- a/drivers/gpu/drm/nouveau/nvkm/core/engine.c +++ b/drivers/gpu/drm/nouveau/nvkm/core/engine.c @@ -86,14 +86,17 @@ static int nvkm_engine_info(struct nvkm_subdev *subdev, u64 mthd, u64 *data) { struct nvkm_engine *engine = nvkm_engine(subdev); - if (engine->func->info) { - if ((engine = nvkm_engine_ref(engine))) { - int ret = engine->func->info(engine, mthd, data); - nvkm_engine_unref(&engine); - return ret; - } - } - return -ENOSYS; + int ret; + + if (!engine->func->info) + return -ENOSYS; + + engine = nvkm_engine_ref(engine); + if (IS_ERR(engine)) + return PTR_ERR(engine); + ret = engine->func->info(engine, mthd, data); + nvkm_engine_unref(&engine); + return ret; } static int
Seemingly Similar Threads
- [bug report] drm/nouveau/secboot: add gp102/gp104/gp106/gp107 support
- [PATCH v2 1/4] subdev/iccsense: add new subdev for power sensors
- [PATCH v4 1/6] subdev/iccsense: add new subdev for power sensors
- [PATCH] drm/nouveau/mpeg: mthd returns true on success now
- [PATCH 1/2] power sensor support