diff options
author | Khaled Almahallawy <khaled.almahallawy@intel.com> | 2021-06-24 15:53:30 -0700 |
---|---|---|
committer | Petri Latvala <petri.latvala@intel.com> | 2021-06-28 11:03:57 +0300 |
commit | 7ff8e8b857f8b5729c5b6d499e1bcde9a494def0 (patch) | |
tree | c0a8f97925778913d9f029dc3ad1d793866242f9 | |
parent | a306810ebbc8984bde38a57ef0c33eea394f4e18 (diff) |
tests/kms_content_protection: Skip if not able to create display_hdcp_srm.bin
On Chrome devices, SRM subtest fails to create display_hdcp_srm.bin file because
Chrome OS rootfs is mounted read-only by default
(https://chromium.googlesource.com/chromiumos/docs/+/HEAD/developer_mode.md#disable-verity).
The error below is observed in Chrome:
(kms_content_protection:9022) DEBUG: Test requirement passed: data.display.is_atomic
(kms_content_protection:9022) CRITICAL: Test assertion failure function __real_main720, file ../igt-gpu-tools-1.25/tests/kms_content_protection.c:807:
(kms_content_protection:9022) CRITICAL: Failed assertion: ret
(kms_content_protection:9022) CRITICAL: Last errno: 9, Bad file descriptor
(kms_content_protection:9022) CRITICAL: SRM update failedStack trace:
This patch fixes that by checking if the file descriptor returned from the
open call is valid and skip if it is not.
v2: Log message (Petri)
Cc: Mark Yacoub <markyacoub@chromium.org>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Arkadiusz Hiler <arek@hiler.eu>
Reported-by: Shawn Lee <shawn.c.lee@intel.com>
Signed-off-by: Khaled Almahallawy <khaled.almahallawy@intel.com>
Reviewed-by: Petri Latvala <petri.latvala@intel.com>
-rw-r--r-- | tests/kms_content_protection.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tests/kms_content_protection.c b/tests/kms_content_protection.c index a0a136da..bab61817 100644 --- a/tests/kms_content_protection.c +++ b/tests/kms_content_protection.c @@ -296,6 +296,8 @@ static bool write_srm_as_fw(const __u8 *srm, int len) fd = open("/lib/firmware/display_hdcp_srm.bin", O_WRONLY | O_CREAT, S_IRWXU); + igt_require_f(fd >= 0, "Cannot write SRM binary to /lib/firmware\n"); + do { ret = write(fd, srm + total, len - total); if (ret < 0) |