Hi, Tony Lindgren writes: > Somehow starting with v4.9-rc7 there have been imprecise There's nothing touching dwc3 since v4.9-rc5. > external aborts on omap5-uevm dwc3 controller. I have not been > able to bisect what exactly triggered this as it does not always > happen. It seems that something changed with probing that > now exposes the issue: > > Unhandled fault: imprecise external abort (0x1406) at 0x00000000 hmmm, clock disabled... dwc3-omap shouldn't have pm runtime at all. > ... > PC is at dwc3_omap_interrupt_thread+0x20/0x80 > LR is at irq_thread_fn+0x1c/0x54 > ... > [] (dwc3_omap_interrupt_thread) from [] > (irq_thread_fn+0x1c/0x54) > [] (irq_thread_fn) from [] (irq_thread+0x12c/0x1f0) > [] (irq_thread) from [] (kthread+0xdc/0xf4) > [] (kthread) from [] (ret_from_fork+0x14/0x3c) > ... > > Unable to handle kernel paging request at virtual address ffffffec > ... > Internal error: Oops: 37 [#2] SMP ARM > PC is at kthread_data+0x4/0xc > LR is at irq_thread_dtor+0x28/0xd0 > ... > [] (kthread_data) from [] (irq_thread_dtor+0x28/0xd0) > [] (irq_thread_dtor) from [] (task_work_run+0xb8/0xdc) > [] (task_work_run) from [] (do_exit+0x314/0xa20) > [] (do_exit) from [] (die+0x410/0x474) > [] (die) from [] (do_DataAbort+0xb4/0xb8) > [] (do_DataAbort) from [] (__dabt_svc+0x58/0x80) > Exception stack(0xee777ec8 to 0xee777f10) > 7ec0: 0000014d ee6e6f10 00000034 fc020034 ee6e6f10 ee1eec00 > 7ee0: 00000000 00000000 ee6ec640 c038a4bc 00000000 00000000 00000000 ee777f18 > 7f00: c038a4d8 c0989fa8 60000013 ffffffff > [] (__dabt_svc) from [] (dwc3_omap_interrupt_thread+0x20/0x80) > [] (dwc3_omap_interrupt_thread) from [] (irq_thread_fn+0x1c/0x54) > [] (irq_thread_fn) from [] (irq_thread+0x12c/0x1f0) > [] (irq_thread) from [] (kthread+0xdc/0xf4) > [] (kthread) from [] (ret_from_fork+0x14/0x3c) > > Fix the issue by making sure the dwc3 interrupts are disabled > before we call devm_request_threaded_irq(). that should already be the case. Are you sure that register isn't zero in probe? -- balbi