dwc2 insufficient fifo memory
Question
linux-4.9.337
configfs_init
mkdir: can't create directory '/sys/kernel/config/usb_gadget/haier/functions/ffs.adb': Device or resource busy
ln: /sys/kernel/config/usb_gadget/haier/configs/c.1/ffs.adb: No such file or directory
[ 2.322098] read descriptors
[ 2.325171] read strings
[ 2.327919] g_ffs gadget: g_ffs ready
[ 2.331723] dwc2 13500000.otg: bound driver g_ffs
[ 2.336686] ------------[ cut here ]------------
[ 2.341496] WARNING: CPU: 0 PID: 473 at drivers/usb/dwc2/gadget.c:224 dwc2_hsotg_init_fifo+0xd8/0x1ac
[ 2.351060] insufficient fifo memory[ 2.354584] Modules linked in:
[ 2.357759] CPU: 0 PID: 473 Comm: adbd Not tainted 4.9.337+ #25
[ 2.363894] Stack : 00000000 00000000 00000000 00000000 80558a5a 00000033 00000000 0000000b
[ 2.372583] 800791d0 81ba836c 804e70c7 80554708 000000e0 00000000 80510000 00000001
[ 2.381270] 814782e8 800791c4 80558a5a 00000012 00000000 00000000 80475da8 815adc9c
[ 2.389974] 80478610 803e1858 000000e0 00000000 80510000 000001d9 815adc9c 804704e0
[ 2.398663] 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[ 2.407349] ...
[ 2.409884] Call Trace:
[ 2.412424] [<8001f91c>] show_stack+0x70/0x8c
[ 2.416950] [<803e2b28>] dump_stack+0x9c/0xd0
[ 2.421470] [<803e1484>] __warn+0x110/0x118
[ 2.425814] [<800347e4>] warn_slowpath_fmt+0x30/0x3c
[ 2.430964] [<8027dc04>] dwc2_hsotg_init_fifo+0xd8/0x1ac
[ 2.436476] [<8028072c>] dwc2_hsotg_core_init_disconnected+0x74/0x2a4
[ 2.443157] [<80281334>] dwc2_hsotg_pullup+0x94/0xd4
[ 2.448320] [<802884cc>] usb_gadget_connect+0x54/0x78
[ 2.453564] [<802892a8>] udc_bind_to_driver+0xdc/0x118
[ 2.458896] [<802897b0>] usb_gadget_probe_driver+0x148/0x158
[ 2.464771] [<8028e3b0>] functionfs_ready_callback+0x4c/0x7c
[ 2.470641] [<8028da98>] ffs_ep0_write+0x810/0x858
[ 2.475611] [<800f9570>] vfs_write+0xcc/0x114
[ 2.480129] [<800fa22c>] SyS_write+0x6c/0xd8
[ 2.484560] [<80024b78>] syscall_common+0x34/0x58
[ 2.489442] ---[ end trace 7f81c373d5b61bfc ]---
[ 2.764380] dwc2 13500000.otg: new device is high-speed
[ 2.844367] dwc2 13500000.otg: new device is high-speed
[ 2.913543] dwc2 13500000.otg: new address 31
[ 2.939888] g_ffs gadget: high-speed config #1: FunctionFS
Answer
dr_mode = "otg";
+ g-np-tx-fifo-size = <32>;
+ g-rx-fifo-size = <256>;
+ g-tx-fifo-size = <512 512 512 512 512 768>;
+ g-tx-fifo-size = <512 512 512 512 512 256 256>;
status = "okay";