summaryrefslogtreecommitdiff
path: root/lib/igt_debugfs.c
diff options
context:
space:
mode:
authorAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>2017-04-07 11:27:03 +0300
committerAnder Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>2017-04-07 11:57:25 +0300
commit5dce95fdadf99138dc6c39ad7d223a8bf7ab870d (patch)
tree284147ab94eb5021f42aff76ef863f6b5df9a453 /lib/igt_debugfs.c
parent2cc8c6d5f811e9f16d895a15a33e7236cdcd53af (diff)
lib/debugfs: Close dir before returning open debugs file
The function igt_debugfs_open() would not close the debugfs dir before returning. Tests that do a lot of pipe CRC comparaions, such as kms_cursor_crc, would eventually fail. (kms_cursor_crc:3853) igt-debugfs-CRITICAL: Test assertion failure function igt_pipe_crc_do_start, file igt_debugfs.c:387: (kms_cursor_crc:3853) igt-debugfs-CRITICAL: Failed assertion: err == 0 (kms_cursor_crc:3853) igt-debugfs-CRITICAL: Last errno: 24, Too many open files (kms_cursor_crc:3853) igt-debugfs-CRITICAL: error: -24 != 0 83884e97e187 ("Restore "lib: Open debugfs files for the given DRM device"") Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'lib/igt_debugfs.c')
-rw-r--r--lib/igt_debugfs.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/igt_debugfs.c b/lib/igt_debugfs.c
index d64694c7..fb6d5213 100644
--- a/lib/igt_debugfs.c
+++ b/lib/igt_debugfs.c
@@ -212,13 +212,17 @@ int igt_debugfs_dir(int device)
*/
int igt_debugfs_open(int device, const char *filename, int mode)
{
- int dir;
+ int dir, ret;
dir = igt_debugfs_dir(device);
if (dir < 0)
return dir;
- return openat(dir, filename, mode);
+ ret = openat(dir, filename, mode);
+
+ close(dir);
+
+ return ret;
}
/**