diff options
author | Shawn Guo <shawn.guo@freescale.com> | 2013-08-13 09:16:52 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2013-08-23 07:30:13 +0800 |
commit | 04efe508880039034d9c1a701b67d3f0be2be04b (patch) | |
tree | 248c3696e5db582ebd074faa554a9a48bb4399ba /include/linux/capability.h | |
parent | 62d095f5b524e21a39322bc252144aa040b57a39 (diff) |
ENGR00269945: ARM: imx6sl: initialize use count of IPG clock
We're running into a system hang during imx6sl boot. It's been tracked
down to SDMA driver function sdma_init(). System hangs immediately
after the clk_disable() is called in sdma_init().
It turns out that the issue is caused by IPG bus clock which is the
parent of sdma clock is turned off accidentally due to the incorrect
initial use count. IPG clock is initial on and should be always on
when system operates. But the use count of the clock is zero initially.
So when the last child clock gets disabled, the use count of IPG clock
reaches zero, and thus clock framework will turn off IPG clock (and
possibly parent clocks along the way), and causes the system hang.
Let's initialize the use count of IPG clock by calling
clk_prepare_enable() on it to match the on state of the clock, so that
the clock will not be turned off accidentally.
Signed-off-by: Shawn Guo <shawn.guo@freescale.com>
Diffstat (limited to 'include/linux/capability.h')
0 files changed, 0 insertions, 0 deletions