summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKhaled Almahallawy <khaled.almahallawy@intel.com>2021-06-24 15:53:30 -0700
committerPetri Latvala <petri.latvala@intel.com>2021-06-28 11:03:57 +0300
commit7ff8e8b857f8b5729c5b6d499e1bcde9a494def0 (patch)
treec0a8f97925778913d9f029dc3ad1d793866242f9
parenta306810ebbc8984bde38a57ef0c33eea394f4e18 (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.c2
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)