mirror of https://github.com/torvalds/linux.git
As the code in this file is being executed within irq context in some
cases, we must avoid the clk_get_rate which uses mutex internally.
Switch the code to use clk_hw_get_rate instead which is non-locking.
This fixes an issue where PM runtime will hang the system if enabled
with a serial console before a suspend-resume cycle.
Signed-off-by: Tero Kristo <t-kristo@ti.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Fixes:
|
||
|---|---|---|
| .. | ||
| at91 | ||
| bcm | ||
| berlin | ||
| h8300 | ||
| hisilicon | ||
| imx | ||
| ingenic | ||
| keystone | ||
| mediatek | ||
| meson | ||
| mmp | ||
| mvebu | ||
| mxs | ||
| nxp | ||
| pistachio | ||
| pxa | ||
| qcom | ||
| rockchip | ||
| samsung | ||
| shmobile | ||
| sirf | ||
| socfpga | ||
| spear | ||
| st | ||
| sunxi | ||
| tegra | ||
| ti | ||
| ux500 | ||
| versatile | ||
| x86 | ||
| zte | ||
| zynq | ||
| Kconfig | ||
| Makefile | ||
| clk-asm9260.c | ||
| clk-axi-clkgen.c | ||
| clk-axm5516.c | ||
| clk-cdce706.c | ||
| clk-cdce925.c | ||
| clk-clps711x.c | ||
| clk-composite.c | ||
| clk-conf.c | ||
| clk-cs2000-cp.c | ||
| clk-devres.c | ||
| clk-divider.c | ||
| clk-efm32gg.c | ||
| clk-fixed-factor.c | ||
| clk-fixed-rate.c | ||
| clk-fractional-divider.c | ||
| clk-gate.c | ||
| clk-gpio.c | ||
| clk-highbank.c | ||
| clk-ls1x.c | ||
| clk-max-gen.c | ||
| clk-max-gen.h | ||
| clk-max77686.c | ||
| clk-max77802.c | ||
| clk-mb86s7x.c | ||
| clk-moxart.c | ||
| clk-multiplier.c | ||
| clk-mux.c | ||
| clk-nomadik.c | ||
| clk-nspire.c | ||
| clk-palmas.c | ||
| clk-pwm.c | ||
| clk-qoriq.c | ||
| clk-rk808.c | ||
| clk-s2mps11.c | ||
| clk-scpi.c | ||
| clk-si514.c | ||
| clk-si570.c | ||
| clk-si5351.c | ||
| clk-si5351.h | ||
| clk-stm32f4.c | ||
| clk-tango4.c | ||
| clk-twl6040.c | ||
| clk-u300.c | ||
| clk-vt8500.c | ||
| clk-wm831x.c | ||
| clk-xgene.c | ||
| clk.c | ||
| clk.h | ||
| clkdev.c | ||