v3d: print error on perfmon destroy error
authorJuan A. Suarez Romero <jasuarez@igalia.com>
Mon, 9 Aug 2021 08:36:17 +0000 (10:36 +0200)
committerMarge Bot <eric+marge@anholt.net>
Mon, 9 Aug 2021 13:31:20 +0000 (13:31 +0000)
Print an error in case destroying the kernel perfmon fails.

Fixes CID 1489964: Error handling issues (CHECKED_RETURN).

v2:
 - Wrap line (Iago).

Fixes: 685281278eb ("v3d: implement performance counter queries")
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12280>

src/gallium/drivers/v3d/v3d_query_perfcnt.c

index 02aa170..793f99d 100644 (file)
@@ -133,7 +133,10 @@ kperfmon_destroy(struct v3d_context *v3d, struct v3d_perfmon_state *perfmon)
         struct drm_v3d_perfmon_destroy destroyreq;
 
         destroyreq.id = perfmon->kperfmon_id;
-        v3d_ioctl(v3d->fd, DRM_IOCTL_V3D_PERFMON_DESTROY, &destroyreq);
+        int ret = v3d_ioctl(v3d->fd, DRM_IOCTL_V3D_PERFMON_DESTROY, &destroyreq);
+        if (ret != 0)
+                fprintf(stderr, "failed to destroy perfmon %d: %s\n",
+                        perfmon->kperfmon_id, strerror(errno));
 }
 
 int