Quantcast
Channel: Raspberry Pi Forums
Viewing all articles
Browse latest Browse all 8621

Compute Module • DMA conflict on CM5 SPI with I2S

$
0
0
Hello,
When loading both the mcp251xfd SPI-to-CAN driver and the max98357a I2S speaker driver, I occasionally get the error seen below:

Code:

[   64.749056] mcp251xfd spi0.0: DMA transaction timed out[   64.754324] mcp251xfd spi0.0: SPI transfer failed: -110[   64.760600] spi_master spi0: failed to transfer one message from queue[   64.767168] spi_master spi0: noqueue transfer failed[   64.772164] mcp251xfd spi0.0 can0: IRQ handler mcp251xfd_handle_rxif() returned -110.[   64.780052] mcp251xfd spi0.0 can0: IRQ handler returned -110 (intf=0x3f1a0002).[   64.990055] mcp251xfd spi0.0: DMA transaction timed out[   64.995329] mcp251xfd spi0.0: SPI transfer failed: -110[   65.001646] spi_master spi0: failed to transfer one message from queue[   65.008210] spi_master spi0: noqueue transfer failed[   65.221055] mcp251xfd spi0.0: DMA transaction timed out[   65.226321] mcp251xfd spi0.0: SPI transfer failed: -110[   65.232611] spi_master spi0: failed to transfer one message from queue[   65.239170] spi_master spi0: noqueue transfer failed
This causes both drivers to stop functioning. This error appears on kernel version 6.8.0.
I built and installed head of 6.18.y branch on raspberry/linux, which seems to have fixed the problem.

However, we are in a situation where we are unable to upgrade to 6.18.y. For this reason, I am looking for the patch responsible for fixing this error. How do I go about finding this, so that I can backport it to our kernel version?

Alternatively, we are looking for way to circumvent this error on 6.8.0. I thought of disabling DMA, but neither overlay had such options according to the README. Is there any other way to circumvent this error?

Statistics: Posted by AphexTin — Tue Feb 17, 2026 9:29 am



Viewing all articles
Browse latest Browse all 8621

Trending Articles