diff options
author | Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> | 2017-04-07 11:27:03 +0300 |
---|---|---|
committer | Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> | 2017-04-07 11:57:25 +0300 |
commit | 5dce95fdadf99138dc6c39ad7d223a8bf7ab870d (patch) | |
tree | 284147ab94eb5021f42aff76ef863f6b5df9a453 /lib/igt_debugfs.c | |
parent | 2cc8c6d5f811e9f16d895a15a33e7236cdcd53af (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.c | 8 |
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; } /** |