diff --git a/mm/cma.c b/mm/cma.c
index 26ecff8188817c598a1c3a1ef788ac0056bddb65..3a18f8d8ea5e9c2b45706ec001f8462d5f3fcd54 100644
--- a/mm/cma.c
+++ b/mm/cma.c
@@ -425,7 +425,7 @@ struct page *cma_alloc(struct cma *cma, size_t count, unsigned int align,
 	struct page *page = NULL;
 	int ret = -ENOMEM;
 
-	if (!cma || !cma->count)
+	if (!cma || !cma->count || !cma->bitmap)
 		return NULL;
 
 	pr_debug("%s(cma %p, count %zu, align %d)\n", __func__, (void *)cma,