On Mon, Feb 02, 2015 at 09:46:46AM -0800, Mike Turquette wrote: > This looks like mis-matched enable/disable calls. We now have unique > struct clk pointers for every call to clk_get. I haven't yet looked > through the hwmod code but I have a feeling that we're doing something > like this: > > /* enable clock */ > my_clk = clk_get(...); > clk_prepare_enable(my_clk); > clk_put(my_clk); > > /* do some work */ > do_work(); > > /* disable clock */ > my_clk = clk_get(...); > clk_disable_unprepare(my_clk); > clk_put(my_clk); > > The above pattern no longer works since my_clk will be two different > unique pointers, but it really should be one stable pointer across the > whole usage of the clk. E.g: Yes, it has always been documented that shall be the case. Anyone doing the above is basically broken. -- FTTC broadband for 0.8mile line: currently at 10.5Mbps down 400kbps up according to speedtest.net.