I assume here your CAN driver's name is mcp2515
. You can confirm that by looking at the device tree file or by checking the lsmod
output.
First, see if the device driver actually loads using lsmod | grep mcp2515
. I think it will load the SPI driver as a dependency, check if that is the case.
Second, look at the kernel log for error messages from your driver, e.g. with sudo dmesg | grep mcp2515
. See if these messages make sense (they often do) and try to fix any reported errors.
Third, if the driver is reported as loaded by lsmod
, use modinfo mcp2515
or browse /sys/module/mcp2515/parameters/
to see what parameters it has and what are the values.
Edit: according to the link you have found, this is a kernel issue with two possible fixes:
downgrade to kernel 5.4
patch the mcp251x.c
driver, replacing ret = mcp251x_hw_wake (spi);
by ret = mcp251x_hw_reset (spi);
. Alternatively, it is suggested to remove the disable_irq(spi->irq);
from the mcp251x_hw_wake()
funciton.