Am Freitag 30 Dezember 2011, 08:48:30 schrieb Dron Gus: > Hi. > > On Thu, Dec 29, 2011 at 11:58 PM, Heiko Stübner <heiko@xxxxxxxxx> wrote: > ... > > > +static int __init s3c2416_cpufreq_driver_init(struct cpufreq_policy > > *policy) > > ... > > > + s3c_freq->armdiv = clk_get(NULL, "armdiv"); > > + if (IS_ERR(s3c_freq->armdiv)) { > > + pr_err("cpufreq: Unable to obtain ARMDIV: %ld\n", > > + PTR_ERR(s3c_freq->armdiv)); > > + return PTR_ERR(s3c_freq->armdiv); > > + } > > + > > + s3c_freq->hclk = clk_get(NULL, "hclk"); > > + if (IS_ERR(s3c_freq->hclk)) { > > + pr_warn("cpufreq: Unable to obtain HCLK: %ld\n", > > + PTR_ERR(s3c_freq->hclk)); > > + s3c_freq->hclk = NULL; /*we can live without hclk */ > > + } > > clk_put allready obtained "armdiv"? > > > + > > + s3c_freq->armclk = clk_get(NULL, "armclk"); > > + if (IS_ERR(s3c_freq->armclk)) { > > + pr_err("cpufreq: Unable to obtain ARMCLK: %ld\n", > > + PTR_ERR(s3c_freq->armclk)); > > + return PTR_ERR(s3c_freq->armclk); > > + } > > Same for "hclk" and "armclk"? thanks for finding those, it seems probe also needs a lot more love. As you were also working on S3C2416 stuff, could you possibly test the driver and see if it still hangs for you? After I introduced the switch from hclk to armdiv using a forced armdiv=hclk frequency the hangs stopped for me and the devices ran hours with varying workloads without hangs. (also including voltage scaling) Heiko -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html