Hi, On Sun, Jul 1, 2018 at 11:30 PM, Antti Seppälä <a.seppala@xxxxxxxxx> wrote: > On 30 June 2018 at 02:57, Doug Anderson <dianders@xxxxxxxxxxxx> wrote: >> Hi, >> >> On Fri, Jun 29, 2018 at 11:29 AM, Antti Seppälä <a.seppala@xxxxxxxxx> wrote: >>> Hi Doug, John and linux-usb. >>> >>> I'd like to report a regression in commit 3bc04e28a030 (usb: dwc2: >>> host: Get aligned DMA in a more supported way) >> >> Seems unlikely, but any chance that >> <https://patchwork.kernel.org/patch/10393775/> helps you? >> > > Thank you for your suggestion but unfortunately the patch does not > help and the crash remains. A few more shots in the dark in case they help: 1. For the kmalloc() in dwc2_alloc_dma_aligned_buffer(), change from: kmalloc_ptr = kmalloc(kmalloc_size, mem_flags); to: kmalloc_ptr = kmalloc(kmalloc_size, mem_flags | GFP_DMA); The old code used to hardcode this, so maybe it somehow makes a difference? --- 2. Change DWC2_USB_DMA_ALIGN to a larger size. Maybe 32 or 64? --- 3. Undo just the part of the patch that removed: /* * Clip max_transfer_size to 65535. dwc2_hc_setup_align_buf() allocates * coherent buffers with this size, and if it's too large we can * exhaust the coherent DMA pool. */ if (hw->max_transfer_size > 65535) hw->max_transfer_size = 65535; Maybe there's something on your platform where you have a problem with big transfers? === It feels like there's something unique about your setup since I haven't heard about this crash and that patch is 1.5 years old. Certainly it could be the MIPS / Big Endian, but I suppose it could also be the driver for the USB device you're plugging in. Any chance the new code is just tickling a problem in that driver? Can you reproduce similar crashes with any other USB devices on your platform? -Doug -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html