diff options
| -rw-r--r-- | drivers/of/base.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/of/base.c b/drivers/of/base.c index e67b308819c9..567e6e1b7921 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c | |||
| @@ -700,6 +700,9 @@ static struct device_node *__of_get_next_child(const struct device_node *node, | |||
| 700 | { | 700 | { |
| 701 | struct device_node *next; | 701 | struct device_node *next; |
| 702 | 702 | ||
| 703 | if (!node) | ||
| 704 | return NULL; | ||
| 705 | |||
| 703 | next = prev ? prev->sibling : node->child; | 706 | next = prev ? prev->sibling : node->child; |
| 704 | for (; next; next = next->sibling) | 707 | for (; next; next = next->sibling) |
| 705 | if (of_node_get(next)) | 708 | if (of_node_get(next)) |
| @@ -746,6 +749,9 @@ struct device_node *of_get_next_available_child(const struct device_node *node, | |||
| 746 | struct device_node *next; | 749 | struct device_node *next; |
| 747 | unsigned long flags; | 750 | unsigned long flags; |
| 748 | 751 | ||
| 752 | if (!node) | ||
| 753 | return NULL; | ||
| 754 | |||
| 749 | raw_spin_lock_irqsave(&devtree_lock, flags); | 755 | raw_spin_lock_irqsave(&devtree_lock, flags); |
| 750 | next = prev ? prev->sibling : node->child; | 756 | next = prev ? prev->sibling : node->child; |
| 751 | for (; next; next = next->sibling) { | 757 | for (; next; next = next->sibling) { |
