Re: Crash in msm serial on dragonboard with ftrace bootargs

From: saiprakash . ranjan
Date: Thu Oct 25 2018 - 10:36:46 EST

On 10/19/2018 8:42 PM, Steven Rostedt wrote:
On Fri, 19 Oct 2018 20:18:19 +0530
Sai Prakash Ranjan <saiprakash.ranjan@xxxxxxxxxxxxxx> wrote:

You said that if you add 'ftrace_filter=msm_read' to the command line,
it still crashes?

So only tracing that function we have an issue, right?

Tracing msm_read does cause the crash, but that is not the only one
causing the crash because even after "ftrace_notrace=msm_read" the board
crashes which is why I suspect msm earlycon and not ftrace.

I'm saying there's a combination of the two. Because when ftrace is not
involved, early con doesn't crash.

I would focus on why earlycon crashes when only msm_read is traced.
That should help narrow down the cause.

What we know is:

earlycon -> boots

ftrace=function -> boots

earlycon ftrace=function ftrace_filter=msm_read -> crashes

If we remove the "ftrace=function ftrace_filter=msm_read" it boots
fine, and I'm assuming that if we just remove earlycon (keeping the
ftrace_filter), it also boots too.

Thus, ftrace tracing msm_read is causing earlycon to do something that
triggers the crash.


Sorry for late response on this, was running out of debug options

Finally after bisecting (which I should have done earlier) this issue
till 4.4 kernel where I don't see the crash, I could see that
dma node in "apq8016-sbc.dtsi" is somehow causing the crash.

dma@7884000 {
status = "okay"; <--- This one

serial@78af000 {
label = "LS-UART0";
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&blsp1_uart1_default>;
pinctrl-1 = <&blsp1_uart1_sleep>;

serial@78b0000 {
label = "LS-UART1";
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&blsp1_uart2_default>;
pinctrl-1 = <&blsp1_uart2_sleep>;

"If I disable dma node and LS-UART0, then I don't see any crash and
ftrace also works fine"

And one more observation is that even without ftrace cmdline, if I use
earlycon and disable dma, I face the same crash.

So basically this seems to be some kind of earlycon and dma issue and
not ftrace(I can be wrong).

So adding Srinivas for more info on this dma node.

Also just for a note: apq8096-db820c.dtsi shows UART0 is disabled because
bootloader does not allow access to it. Could this also be the case for db410c?


QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation