Thread (8 messages) 8 messages, 3 authors, 2017-10-20

Re: [PATCH v2] clk: tegra: Use readl_relaxed_poll_timeout_atomic in tegra210_clock_init

From: Thierry Reding <hidden>
Date: 2017-10-19 09:44:28
Also in: linux-tegra, lkml

On Thu, Oct 19, 2017 at 02:29:20AM -0700, Nicolin Chen wrote:
On Fri, Sep 15, 2017 at 12:10:13PM -0700, Nicolin Chen wrote:
quoted
Below is the call trace of tegra210_init_pllu() function:
  start_kernel()
  -> time_init()
  --> of_clk_init()
  ---> tegra210_clock_init()
  ----> tegra210_pll_init()
  -----> tegra210_init_pllu()

Because the preemption is disabled in the start_kernel before calling
time_init, tegra210_init_pllu is actually in an atomic context while
it includes a readl_relaxed_poll_timeout that might sleep.

So this patch just changes this readl_relaxed_poll_timeout() to its
atomic version.

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Acked-By: Peter De Schrijver <redacted>
Thierry, can you also take a look at this one? I sent a month ago. Thanks.
I'm wondering why we're not seeing a splat for this. Usually the kernel
will warn if you sleep during atomic context. Does this mean we're just
not hitting that case? readx_poll_timeout() has a might_sleep_if(), and
therefore it should always cause the splat.

Any ideas why this has gone unnoticed for all this time?

Thierry

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help