On Sun, Feb 23, 2020 at 09:02:47PM +0900, Boris ARZUR wrote: > Hi Guenter, > > I tried your series of patch. rndis_host tethering & loading the machine > seems to work fine. No more crashing. > > That being said, I now have an issue with regular USB keys (I tried a few): > usb 3-1: reset high-speed USB device number 2 using dwc2 > > I was able to reproduce this issue with the unpatched kernel, by disabling > the early return in dwc2_alloc_dma_aligned_buffer(), see attached. > There are times were re-allocation fails, either with your patch or with > the (almost-)original code. > > In particular it seems that there is a packet of lenght 13, usb_urb_dir_in() == true, > usb_pipetype(urb->pipe) == PIPE_BULK, that comes in every 2s or so, that > does not reallocate properly. > Those packets have URB_NO_TRANSFER_DMA_MAP set. If that is the case, the packet is not received into the transfer buffer but into an already assigned DMA buffer/address. Providing a temporary buffer does not have an effect; the packet is still received into the orginal buffer (and then overwritten with the data in the temporary buffer). That means we have to leave such packets alone. I'll send out an updated series later tonight or tomorrow. I'll probably send it as RFT series this time. Guenter