Merge pull request #1617 from antonio-nino-diaz-arm/an/bugfix

xlat: Fix checks in mmap_add() and mmap_add_ctx()
diff --git a/lib/xlat_tables/xlat_tables_common.c b/lib/xlat_tables/xlat_tables_common.c
index a9aaeee..2ee77c7 100644
--- a/lib/xlat_tables/xlat_tables_common.c
+++ b/lib/xlat_tables/xlat_tables_common.c
@@ -176,7 +176,7 @@
 {
 	const mmap_region_t *mm_cursor = mm;
 
-	while (mm_cursor->attr != 0U) {
+	while ((mm_cursor->size != 0U) || (mm_cursor->attr != 0U)) {
 		mmap_add_region(mm_cursor->base_pa, mm_cursor->base_va,
 				mm_cursor->size, mm_cursor->attr);
 		mm_cursor++;
diff --git a/lib/xlat_tables_v2/xlat_tables_core.c b/lib/xlat_tables_v2/xlat_tables_core.c
index 3b6c6bc..8ced76e 100644
--- a/lib/xlat_tables_v2/xlat_tables_core.c
+++ b/lib/xlat_tables_v2/xlat_tables_core.c
@@ -815,7 +815,7 @@
 {
 	const mmap_region_t *mm_cursor = mm;
 
-	while (mm_cursor->attr != 0U) {
+	while (mm_cursor->granularity != 0U) {
 		mmap_add_region_ctx(ctx, mm_cursor);
 		mm_cursor++;
 	}