You can add a netdev_error() to report the error if
Done, m_can_rx_peripheral(dev) returns each time normally with 0.I added netdev_err also after out_fail in m_can_isr, but it fires no error in dmesg after NOBUFS.
The curious thing is that it fails in the other place. Sometimes I see[ 9945.908861] tcan4x5x spi4.0 can1: can_put_echo_skb: BUG! echo_skb 11 is occupied!
But I think, it is not my problem.