From c83ad3fc4dc96586f0411450ca3652a39aa5c4b8 Mon Sep 17 00:00:00 2001 From: Hector Martin Date: Fri, 17 May 2024 01:56:57 +0900 Subject: [PATCH] dart: Fix silent logic for dart_translate() Signed-off-by: Hector Martin --- src/dart.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/dart.c b/src/dart.c index 606e1144..bdc804ed 100644 --- a/src/dart.c +++ b/src/dart.c @@ -628,9 +628,10 @@ static void *dart_translate_internal(dart_dev_t *dart, uintptr_t iova, int silen return NULL; } - if (!(dart->l1[ttbr][l1_index] & DART_PTE_VALID) && !silent) { - printf("dart[%lx %u]: l1 translation failure %x %lx\n", dart->regs, dart->device, l1_index, - iova); + if (!(dart->l1[ttbr][l1_index] & DART_PTE_VALID)) { + if (!silent) + printf("dart[%lx %u]: l1 translation failure %x %lx\n", dart->regs, dart->device, + l1_index, iova); return NULL; } @@ -638,9 +639,10 @@ static void *dart_translate_internal(dart_dev_t *dart, uintptr_t iova, int silen u64 *l2 = (u64 *)(FIELD_GET(dart->params->offset_mask, dart->l1[ttbr][l1_index]) << DART_PTE_OFFSET_SHIFT); - if (!(l2[l2_index] & DART_PTE_VALID) && !silent) { - printf("dart[%lx %u]: l2 translation failure %x:%x %lx\n", dart->regs, dart->device, - l1_index, l2_index, iova); + if (!(l2[l2_index] & DART_PTE_VALID)) { + if (!silent) + printf("dart[%lx %u]: l2 translation failure %x:%x %lx\n", dart->regs, dart->device, + l1_index, l2_index, iova); return NULL; }