>> One question that comes to my mind is this: Does the USB transmission >> stall (e.g. endpoint stall) or not? In other words, is adb connection >> broken because USB stops transmitting anything, or because the data is >> transmitted but its integrity is broken during transmission and that >> causes adb/adbd confusion which results in stopping their operation? >> Does anything keep happening on FunctionFS when adb connection is >> broken? > >Any discoveries about the problem?
In my debugging, I'm seeing a lot of requests queued up through ffs_epfile_io (returning -EIOCBQUEUED), but only a few of them came back through ffs_epfile_async_io_complete -> ffs_user_copy_worker. I don’t think there is a USB transmission stall though, because if I manually disable io_data->use_sg, everything goes back to normal. So it looks more likely to be a buffer handling problem in the DWC3 driver. -Fei > >Andrzej