summaryrefslogtreecommitdiff
path: root/lib/sbi/sbi_domain.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sbi/sbi_domain.c')
-rw-r--r--lib/sbi/sbi_domain.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/sbi/sbi_domain.c b/lib/sbi/sbi_domain.c
index 84f30b9..3096af0 100644
--- a/lib/sbi/sbi_domain.c
+++ b/lib/sbi/sbi_domain.c
@@ -511,7 +511,8 @@ int sbi_domain_root_add_memregion(const struct sbi_domain_memregion *reg)
if (!nreg1->order)
continue;
- if ((nreg->base + BIT(nreg->order)) == nreg1->base &&
+ if (!(nreg->base & (BIT(nreg->order + 1) - 1)) &&
+ (nreg->base + BIT(nreg->order)) == nreg1->base &&
nreg->order == nreg1->order &&
nreg->flags == nreg1->flags) {
nreg->order++;