On 30 April 2013 20:43, Nishanth Menon <nm@xxxxxx> wrote: > Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> My earlier Ack was a waste of money :) > diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-cpu0.c > index 37d23a0..e472167 100644 > --- a/drivers/cpufreq/cpufreq-cpu0.c > +++ b/drivers/cpufreq/cpufreq-cpu0.c > @@ -200,6 +200,20 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev) > cpu_dev = &pdev->dev; > cpu_dev->of_node = np; > > + cpu_reg = devm_regulator_get(cpu_dev, "cpu0"); > + if (IS_ERR(cpu_reg)) { > + /* > + * If cpu0 regulator supply node is present, but regulator is > + * not yet registered, we should try defering probe. > + */ > + if (PTR_ERR(cpu_reg) == -EPROBE_DEFER) { > + dev_err(cpu_dev, "cpu0 regulator not ready, retry\n"); > + return -EPROBE_DEFER; You need to do following here: of_node_put(np); of_node_put(parent); better mark ret = -EPROBE_DEFER; and do a goto out_put_node. -- To unsubscribe from this list: send the line "unsubscribe cpufreq" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html