From 2fda14ae6aa36798b59ab0591a2009ead206159b Mon Sep 17 00:00:00 2001
From: Simon Glass <sjg@chromium.org>
Date: Fri, 31 Jul 2015 09:31:19 -0600
Subject: [PATCH] dm: core: Check for empty list in uclass_find_device()

This function needs to check the list has entries before traversing it.
Fix this bug.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
 drivers/core/uclass.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
index aba98801fd..ffe69956d5 100644
--- a/drivers/core/uclass.c
+++ b/drivers/core/uclass.c
@@ -153,6 +153,8 @@ int uclass_find_device(enum uclass_id id, int index, struct udevice **devp)
 	ret = uclass_get(id, &uc);
 	if (ret)
 		return ret;
+	if (list_empty(&uc->dev_head))
+		return -ENODEV;
 
 	list_for_each_entry(dev, &uc->dev_head, uclass_node) {
 		if (!index--) {
-- 
2.39.5