Re: REGRESSION: dwc2: gadget: Add scatter-gather mode
From: John Stultz
Date: Thu Mar 21 2019 - 14:36:42 EST
On Thu, Mar 21, 2019 at 12:19 AM Andrzej Pietrasiewicz
<andrzejtp2010@xxxxxxxxx> wrote:
> Can you please apply this patch:
>
> https://www.spinics.net/lists/linux-usb/msg178195.html
>
> and see if this helps?
Thanks so much for the suggestion!
So I added that, but unfortunately I'm still seeing things crash on boot with:
[ 13.655003] init: starting service 'bootanim'...
[ 13.699548] functionfs read size 512 > requested size 24, splitting
request into multiple reads.
[ 13.699631] ------------[ cut here ]------------
[ 13.713062] kernel BUG at mm/slub.c:3950!
[ 13.717096] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
[ 13.722600] Modules linked in:
[ 13.725685] CPU: 5 PID: 2123 Comm: adbd Not tainted
5.1.0-rc1-00032-g6cf2064-dirty #1015
[ 13.733795] Hardware name: HiKey Development Board (DT)
[ 13.739031] pstate: 40400005 (nZcv daif +PAN -UAO)
[ 13.743834] pc : kfree+0x210/0x258
[ 13.747246] lr : ffs_epfile_io.isra.12+0xfc/0x6a0
[ 13.751950] sp : ffffff801199bb50
[ 13.755278] x29: ffffff801199bb50 x28: ffffffc074e5c600
[ 13.760596] x27: ffffffc06f200e38 x26: 00000000000001e8
[ 13.765912] x25: ffffff801199bc98 x24: ffffffc06f0cfa00
[ 13.771230] x23: ffffffc07497f000 x22: ffffff801146d000
[ 13.776547] x21: ffffff80108a6294 x20: ffffff8012063000
[ 13.781865] x19: ffffffbf004818c0 x18: 0000000000000000
[ 13.787202] x17: 0000000000000000 x16: ffffffc074e5c600
[ 13.792540] x15: 0000000000000000 x14: 0000000000000000
[ 13.797877] x13: 0000000000000000 x12: 0000000000000000
[ 13.803213] x11: 0000000000000000 x10: 0000000000000000
[ 13.808547] x9 : 0000000000000000 x8 : 0000000000000000
[ 13.813865] x7 : 0000000000000000 x6 : 000000761e605113
[ 13.819182] x5 : 000000761e605113 x4 : 0000000000000000
[ 13.824516] x3 : ffffffc06f200e00 x2 : 0000000000000000
[ 13.829853] x1 : ffffffbf004818c8 x0 : ffffffbf004818c8
[ 13.835199] Process adbd (pid: 2123, stack limit = 0x00000000c418bad6)
[ 13.841744] Call trace:
[ 13.844208] kfree+0x210/0x258
[ 13.847288] ffs_epfile_io.isra.12+0xfc/0x6a0
[ 13.851673] ffs_epfile_read_iter+0xb4/0x188
[ 13.855973] new_sync_read+0xe4/0x158
[ 13.859643] __vfs_read+0x2c/0x40
[ 13.862977] vfs_read+0x8c/0x148
[ 13.866230] ksys_read+0x5c/0xc8
[ 13.869486] __arm64_sys_read+0x14/0x20
[ 13.873352] el0_svc_common+0xac/0x108
[ 13.877132] el0_svc_handler+0x2c/0x80
[ 13.880910] el0_svc+0x8/0xc
[ 13.883810] Code: f9400260 378000a0 f9400660 37000060 (d4210000)
[ 13.889928] ---[ end trace 967312c15ae7c93d ]---
But I like the direction your thinking with that patch.
I realize on some other dwc3 based hardware I was seeing different
issues with larger transfers that cropped up with 772a7a724f69 ("usb:
gadget: f_fs: Allow scatter-gather buffers"), and my hack workaround
there has been to comment out the assignment of
dwc->gadget.sg_supported to true. A similar hack w/ dwc2 seems to
avoid the issue too, so maybe the dwc2 sg_support patch is tripping
over the same thing in the ffs driver?
thanks
-john