summaryrefslogtreecommitdiff
path: root/drivers/of/irq.c
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2016-09-23 15:57:16 +0300
committerLinus Walleij <linus.walleij@linaro.org>2016-09-23 15:57:16 +0300
commit0565f49cfe937640c2347f6d7f40ad2f4e4f088b (patch)
tree6067447df39c37946bc2de3ee004f45957bf123e /drivers/of/irq.c
parentccf1e9e1c0072088420aad42797986d6e74366b5 (diff)
parent9395452b4aab7bc2475ef8935b4a4fb99d778d70 (diff)
downloadlinux-0565f49cfe937640c2347f6d7f40ad2f4e4f088b.tar.xz
Merge tag 'v4.8-rc6' into devel
Linux 4.8-rc6
Diffstat (limited to 'drivers/of/irq.c')
-rw-r--r--drivers/of/irq.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/of/irq.c b/drivers/of/irq.c
index 89a71c6074fc..a2e68f740eda 100644
--- a/drivers/of/irq.c
+++ b/drivers/of/irq.c
@@ -544,12 +544,15 @@ void __init of_irq_init(const struct of_device_id *matches)
list_del(&desc->list);
+ of_node_set_flag(desc->dev, OF_POPULATED);
+
pr_debug("of_irq_init: init %s (%p), parent %p\n",
desc->dev->full_name,
desc->dev, desc->interrupt_parent);
ret = desc->irq_init_cb(desc->dev,
desc->interrupt_parent);
if (ret) {
+ of_node_clear_flag(desc->dev, OF_POPULATED);
kfree(desc);
continue;
}
@@ -559,8 +562,6 @@ void __init of_irq_init(const struct of_device_id *matches)
* its children can get processed in a subsequent pass.
*/
list_add_tail(&desc->list, &intc_parent_list);
-
- of_node_set_flag(desc->dev, OF_POPULATED);
}
/* Get the next pending parent that might have children */