On Tue, 18 Jun 2019 at 14:26, Stephan Gerhold <stephan@xxxxxxxxxxx> wrote: > > Hi, > > I'm trying to run mainline Linux on a smartphone with MSM8916 SoC. > It works surprisingly well, but the coresight devices seem to cause the > following crash shortly after userspace starts: > > Internal error: synchronous external abort: 96000010 [#1] PREEMPT SMP > Modules linked in: > CPU: 0 PID: 32 Comm: kworker/0:1 Not tainted 5.2.0-rc5 #7 > Hardware name: Samsung Galaxy A5 (SM-A500FU) (DT) > Workqueue: events amba_deferred_retry_func > pstate: 60000005 (nZCv daif -PAN -UAO) > pc : amba_device_try_add+0x104/0x2f0 > lr : amba_device_try_add+0xf0/0x2f0 > sp : ffff00001181bd40 > x29: ffff00001181bd40 x28: 0000000000000000 > x27: ffff80007b258b38 x26: ffff000010f490a0 > x25: 0000000000000000 x24: ffff000011b35000 > x23: 0000000000000000 x22: ffff80007b316ed8 > x21: 0000000000001000 x20: 0000000000000000 > x19: ffff80007b316c00 x18: 0000000000000000 > x17: 0000000000000000 x16: 0000000000000000 > x15: 0000000000000000 x14: ffffffffffffffff > x13: 0000000000000000 x12: 0000000000000001 > x11: 0000000000000000 x10: 0000000000000980 > x9 : ffff00001181ba00 x8 : ffff80007b126a20 > x7 : ffff80007a5e0500 x6 : ffff80007b126040 > x5 : 0000000000000002 x4 : ffff80007db85ba0 > x3 : 0000000000000000 x2 : ffff000011b35fe0 > x1 : 0000000000000000 x0 : 0000000000000000 > Call trace: > amba_device_try_add+0x104/0x2f0 > amba_deferred_retry_func+0x48/0xc8 > process_one_work+0x1e0/0x320 > worker_thread+0x40/0x428 > kthread+0x120/0x128 > ret_from_fork+0x10/0x18 > Code: 35000ac0 d10082a2 52800001 8b020302 (b9400040) > ---[ end trace b664cbefc1cb2294 ]--- > > In this case I'm using a simple device tree similar to apq8016-sbc, > but it also happens using something as simple as msm8916-mtp.dts > on this particular device. > (Attached: dmesg log with msm8916-mtp.dts and arm64 defconfig) > > I can avoid the crash and boot without any further problems by disabling > every coresight device defined in msm8916.dtsi, e.g.: > > tpiu@820000 { status = "disabled"; }; > funnel@821000 { status = "disabled"; }; > replicator@824000 { status = "disabled"; }; > etf@825000 { status = "disabled"; }; > etr@826000 { status = "disabled"; }; > funnel@841000 { status = "disabled"; }; > debug@850000 { status = "disabled"; }; > debug@852000 { status = "disabled"; }; > debug@854000 { status = "disabled"; }; > debug@856000 { status = "disabled"; }; > etm@85c000 { status = "disabled"; }; > etm@85d000 { status = "disabled"; }; > etm@85e000 { status = "disabled"; }; > etm@85f000 { status = "disabled"; }; > > I don't have any use for coresight at the moment, > but it seems somewhat odd to put this in the device specific dts. > > Any idea what could be causing this crash? CS and CPUidle don't play well together on most boards, something I am actively looking into at this very moment. To avoid the problem either disable CS or CPUidle. Mathieu > I'm not sure if this is a device-specific issue or possibly some kind of > configuration problem. > Or is this feature only working on development boards? > > Thanks in advance! > Stephan > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@xxxxxxxxxxxxxxxxxxx > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel