]> asedeno.scripts.mit.edu Git - linux.git/commit
clk: ti: clkctrl: Fix failed to enable error with double udelay timeout
authorTony Lindgren <tony@atomide.com>
Mon, 30 Sep 2019 15:40:01 +0000 (08:40 -0700)
committerStephen Boyd <sboyd@kernel.org>
Mon, 4 Nov 2019 17:56:53 +0000 (09:56 -0800)
commit81a41901ffd46bac6df4c95b8290ac259e0feda8
treeb752211c5877f2897cdcf9a535b22afc45657d12
parent9982b0f69b49931b652d35f86f519be2ccfc7027
clk: ti: clkctrl: Fix failed to enable error with double udelay timeout

Commit 3d8598fb9c5a ("clk: ti: clkctrl: use fallback udelay approach if
timekeeping is suspended") added handling for cases when timekeeping is
suspended. But looks like we can still get occasional "failed to enable"
errors on the PM runtime resume path with udelay() returning faster than
expected.

With ti-sysc interconnect target module driver this leads into device
failure with PM runtime failing with "failed to enable" clkctrl error.

Let's fix the issue with a delay of two times the desired delay as in
often done for udelay() to account for the inaccuracy.

Fixes: 3d8598fb9c5a ("clk: ti: clkctrl: use fallback udelay approach if timekeeping is suspended")
Cc: Keerthy <j-keerthy@ti.com>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Link: https://lkml.kernel.org/r/20190930154001.46581-1-tony@atomide.com
Tested-by: Keerthy <j-keerthy@ti.com>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/ti/clkctrl.c