On Friday 19 August 2016 06:10 PM, Jonatan Magnusson wrote: > > Hi > > Update on my SPI and DMA related problems with Beaglebone + ENC28J60: > > As I wrote in my previous mail, I could see that the data received by > the SPI driver was not same as what I could see using an oscilloscope. > The data I could see using the oscilloscope was 0x06 but the driver > returned 0x3C. > > Then I switched from spi0 to spi1, and to my surprise that port works! > However, as soon as there was substantial data available the driver and > kernel crashed with a DMA related error (included below). > > I disabled DMA by setting DMA_MIN_LEN to a very big number, and finally > I have a reliable network connection with ENC28J60! > > But I would prefer to use spi0, and I’m of course not happy with disabling > DMA. > > I’m using kernel 4.7.1 at commit 95f15f5ed6e68b479c73da842012108c567c6999. > There are no custom patches, except for a custom device tree. > > Any hints how to debug this further? Franklin recently reworked the mcspi dma part quite a bit. It looks like that work went into v4.8. Can you try the latest v4.8 rc to see if that helps. Here are the commits: 0ba1870f8865 (Franklin S Cooper Jr) 6 weeks ago spi: omap2-mcspi: Use the SPI framework to handle DMA mapping 2b32e987c48c (Franklin S Cooper Jr) 6 weeks ago spi: omap2-mcspi: Select SPI_SPLIT Cant think of a reason why spi1 works but not spi0. I would suspect the pinmux first. Did you double-check that? Thanks, Sekhar -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html