can: tcan4x5x: LatchUp with errno 105 (NOBUFS), when using more than one can interface

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

my Application runs on RaspberryPi4 and utilizes three can interfaces (can0-2), each has a tcan4550 chip on the spi0, spi4 and spi6 respectively.


This application communicate with up to 16 Nodes on each can-bus and sends in 10ms cycle a messages, i.e. with IDs 0x200..0x20F to each Node with no problem.

See a log from candump on pastebin (candump_any_only_tx):
https://pastebin.com/E9z6KGFu

I am using this overlay for it (tcan4x5x.dts)
https://pastebin.com/qtDzHqaL

Now, if I try to query a Status from each Node (one Query after the other in 5ms intervals), that leads to the error 105 by write to socket buffer. After that, buffer latchs up. A test with cansend on this interface, after killing the application, returns also "write: No buffer space available". This remains until ifdown.

Please see a log from candump with additional status query (candump_any_with_rx)
https://pastebin.com/rZNSnYEh

I have connected a logic analyzer to all SPI interfaces to view the traffic on SPI-Buses with sigrok / PulsView.
https://postimg.cc/QKtbS39q
https://postimg.cc/9zFJcG8q
https://postimg.cc/dDHn3LpN

If necessary, I can make dedicated capture and share diagrams.



$uname -a
Linux RPICAN-2 5.15.21-v7l+ #1 SMP PREEMPT Fri Feb 18 11:31:05 CET 2022 armv7l GNU/Linux


$modinfo tcan4x5x:
filename: /lib/modules/5.15.21-v7l+/kernel/drivers/net/can/m_can/tcan4x5x.ko
license:        GPL v2
description:    Texas Instruments TCAN4x5x CAN driver
author:         Dan Murphy <dmurphy@xxxxxx>
srcversion:     DBF01ADB6B5CD83D778AAD9
alias:          spi:tcan4x5x
alias:          of:N*T*Cti,tcan4x5xC*
alias:          of:N*T*Cti,tcan4x5x
depends:        m_can
intree:         Y
name:           tcan4x5x
vermagic:       5.15.21-v7l+ SMP preempt mod_unload modversions ARMv7 p2v8

$modinfo m_can
filename: /lib/modules/5.15.21-v7l+/kernel/drivers/net/can/m_can/m_can.ko
description:    CAN bus driver for Bosch M_CAN controller
license:        GPL v2
author:         Dan Murphy <dmurphy@xxxxxx>
author:         Dong Aisheng <b29396@xxxxxxxxxxxxx>
srcversion:     8FD811EC24C8442A2AF6D65
depends:        can-dev
intree:         Y
name:           m_can
vermagic:       5.15.21-v7l+ SMP preempt mod_unload modversions ARMv7 p2v8







[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux