aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/clk/clk-efm32gg.c
diff options
context:
space:
mode:
authorTero Kristo <[email protected]>2014-08-21 16:47:45 +0300
committerMike Turquette <[email protected]>2014-09-03 12:09:14 -0700
commit067bb1741c27c8d3b74ac98c0b8fc12b31e67005 (patch)
tree2ac73ed146def75686d3d658b5c748831491e7b9 /drivers/clk/clk-efm32gg.c
parentclk: rockchip: Fix the clocks for i2c1 and i2c2 (diff)
downloadwireguard-linux-067bb1741c27c8d3b74ac98c0b8fc12b31e67005.tar.xz
wireguard-linux-067bb1741c27c8d3b74ac98c0b8fc12b31e67005.zip
clk: prevent erronous parsing of children during rate change
In some cases, clocks can switch their parent with clk_set_rate, for example clk_mux can do this in some cases. Current implementation of clk_change_rate uses un-safe list iteration on the clock children, which will cause wrong clocks to be parsed in case any of the clock children change their parents during the change rate operation. Fixed by using the safe list iterator instead. The problem was detected due to some divide by zero errors generated by clock init on dra7-evm board, see discussion under http://article.gmane.org/gmane.linux.ports.arm.kernel/349180 for details. Fixes: 71472c0c06cf ("clk: add support for clock reparent on set_rate") Signed-off-by: Tero Kristo <[email protected]> Reported-by: Nishanth Menon <[email protected]> Signed-off-by: Mike Turquette <[email protected]>
Diffstat (limited to 'drivers/clk/clk-efm32gg.c')
0 files changed, 0 insertions, 0 deletions
OSZAR »