Re: Crash in msm serial on dragonboard with ftrace bootargs
From: Stephen Boyd
Date: Tue Oct 16 2018 - 16:51:12 EST
Quoting Sai Prakash Ranjan (2018-10-16 12:35:57)
> On 10/17/2018 12:45 AM, Steven Rostedt wrote:
> > On Wed, 17 Oct 2018 00:36:05 +0530
> > Sai Prakash Ranjan <saiprakash.ranjan@xxxxxxxxxxxxxx> wrote:
> >
> >> On 10/17/2018 12:33 AM, Steven Rostedt wrote:
> >>> On Wed, 17 Oct 2018 00:31:03 +0530
> >>> Sai Prakash Ranjan <saiprakash.ranjan@xxxxxxxxxxxxxx> wrote:
> >>>
> >>>> Haa seems like you are right! With "ftrace=function
> >>>> ftrace_filter=msm_read" , I can trigger the crash, but
> >>>> sadly "ftrace_notrace=msm_read" also crashes.
> >>>
> >>> So there's more than one problem area.
> >>>
> >>> What about ftrace_notrace=m*
> >>>
> >>> ?
> >>>
> >>
> >> That too crashes.
> >>
> >
> > Which compiler are you using and can you send me your config.
> >
> Config attached.
>
> Compiler: aarch64-linux-gnu-gcc (Linaro GCC 6.3-2017.02) 6.3.1 20170109
>
> > I wonder if there's something screwing up with the way ftrace nops are
> > working on this board.
> >
> > A couple things of note, 1) it works fine after boot up. 2) it crashes
> > in the initcall code, so it's not due to ftrace being enabled too early.
> >
> > I'd like to see the full command line as well. I bet if you remove the
> > qcom,msm-uartdm from the command line, and had just ftrace=function, it
> > may also boot fine too. Can you try that?
> >
>
> Kernel command line: root=/dev/disk/by-partlabel/rootfs rw rootwait
> ftrace=function ftrace_notrace=m* earlycon console=ttyMSM0,115200n8
>
> qcom,msm-uartdm is not in command line, it is the earlycon. So without
> earlycon(bootconsole), board boots fine as we discussed earlier.
>
Have you tried with earlycon and no ftrace things on the commandline?
root=/dev/disk/by-partlabel/rootfs rw rootwait earlycon console=ttyMSM0,115200n8
If earlycon is causing problems, it sounds like this may be another case
of earlycon uart handing off to the uart driver and that failing because
something gets printed while the uart is transitioning from the earlycon
console to the kernel boot console. I recall the uart would trample on
itself in interesting ways.