Re: [PATCH v10 0/6] Re-introduce TX FIFO resize for larger EP bursting

From: Felipe Balbi
Date: Sun Jul 25 2021 - 02:06:12 EST



Hi,

Ferry Toth <fntoth@xxxxxxxxx> writes:
>>>>> Hardware name: Intel Corporation Merrifield/BODEGA BAY, BIOS 542
>>>>> 2015.01.21:18.19.48
>>>>> RIP: 0010:0x500000000
>>>>> Code: Unable to access opcode bytes at RIP 0x4ffffffd6.
>>>>> RSP: 0018:ffffa4d00045fc28 EFLAGS: 00010046
>>>>> RAX: 0000000500000000 RBX: ffff8cd546aed200 RCX: 0000000000000000
>>>>> RDX: 0000000000000000 RSI: ffff8cd547bfcae0 RDI: ffff8cd546aed200
>>>>> RBP: ffff8cd547bfcae0 R08: 0000000000000000 R09: 0000000000000001
>>>>> R10: ffff8cd541fd28c0 R11: 0000000000000000 R12: ffff8cd547342828
>>>>> R13: ffff8cd546aed248 R14: 0000000000000000 R15: ffff8cd548b1d000
>>>>> FS: 0000000000000000(0000) GS:ffff8cd57e200000(0000) knlGS:0000000000000000
>>>>> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>>>> CR2: 0000000500000000 CR3: 000000000311e000 CR4: 00000000001006f0
>>>>> Call Trace:
>>>>> ? dwc3_remove_requests.constprop.0+0x14d/0x170
>>>>> ? __dwc3_gadget_ep_disable+0x7a/0x160
>>>>> ? dwc3_gadget_ep_disable+0x3d/0xd0
>>>>> ? usb_ep_disable+0x1c/0x
>>>>> ? u_audio_stop_capture+0x79/0x120 [u_audio]
>>>>> ? afunc_set_alt+0x73/0x80 [usb_f_uac2]
>>>>> ? composite_setup+0x224/0x1b90 [libcomposite]
>>>>> ? __dwc3_gadget_kick_transfer+0x160/0x400
>>>>> ? dwc3_gadget_ep_queue+0xf3/0x1a0
>>>>> ? configfs_composite_setup+0x6b/0x90 [libcomposite]
>>>>> ? configfs_composite_setup+0x6b/0x90 [libcomposite]
>>>>> ? dwc3_ep0_interrupt+0x459/0xa40
>>>>> ? dwc3_thread_interrupt+0x8ee/0xf40
>>>>> ? __schedule+0x235/0x6c0
>>>>> ? disable_irq_nosync+0x10/0x10
>>>>> ? irq_thread_fn+0x1b/0x60
>>>>> ? irq_thread+0xc0/0x160
>>>>> ? irq_thread_check_affinity+0x70/0x70
>>>>> ? irq_forced_thread_fn+0x70/0x70
>>>>> ? kthread+0x122/0x140
>>>>> ? set_kthread_struct+0x40/0x40
>>>>> ? ret_from_fork+0x22/0x30
>>>> Do you mind enabling dwc3 traces and collecting them? Trying to figure
>>>> out how we got here.
>>>>
>>> I'll try if I can get the same error by booting with USB in host mode
>>> and then switch to device mode. If so I can enable traces and collect as
>>> you explained me before.
>>>
>>> I'll try before monday, as then I fly for a holiday and will not be
>>> available before rc5.
>> you can enable all of those with kernel cmdline :-)
>>
>> https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html
>>
>> you need ftrace_dump_on_oops=1 and also need the correct options on
>> trace_buf_size and trace_event.
>>
> On Edison-Arduino I have a switch to go to device mode, after which
> udev triggers a script configure gadgets through configfs.
>
> I tried to log following these instructions:
>
> https://www.kernel.org/doc/html/latest/driver-api/usb/dwc3.html#reporting-bugs <https://www.kernel.org/doc/html/latest/driver-api/usb/dwc3.html#reporting-bugs>
>
> Unfortunately the kernel crashes so badly I can not get to the ` cp
> /t/trace /root/trace.txt` line (after a while the watchdog kicks).
>
> What to do next?

Pass ftrace_dump_on_oops to kernel cmdline.

--
balbi