diff --git a/drivers/of/base.c b/drivers/of/base.c
index 710b53bfac6d9478b86aed67e537bc06ee1cbc6d..632ebae7f17a4444f7aa3ad193bdbce0212c6c09 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -496,6 +496,9 @@ EXPORT_SYMBOL(of_find_node_with_property);
 const struct of_device_id *of_match_node(const struct of_device_id *matches,
 					 const struct device_node *node)
 {
+	if (!matches)
+		return NULL;
+
 	while (matches->name[0] || matches->type[0] || matches->compatible[0]) {
 		int match = 1;
 		if (matches->name[0])