Fwd: usb_8dev - WARN_ON(in_irq()) Ticket #00560

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

 



Hello Mr. Oliver Hartkopp,

I would like to notify you that the case described as the issue is
caused by non-standard use of the device and protocol.

Firstly, the model situation with only a single device on the CAN bus
is invalid and very rarely occurs in real life due to the purpose and
underlying principles of the CAN2.0 protocol. Every CAN message sent
to the bus should be acknowledged by other bus node(s) or it will
increment the error counter and will be retransmitted.

The proper usage of a single device (e. g. for testing or
self-diagnostic purposes) would be to enable loopback mode on when
initialising the device in question, as that will ensure that the
device acknowledges the messages it sends to the bus.

Secondly, usage of termination resistors is a must on a CAN bus, and
according to ISO 11898-2 (CAN High Speed) standard the bus is a linear
bus that must be terminated at each end with 120 Ohm resistors. The
termination resistors are needed to suppress reflections as well as
return the bus to its recessive or idle state.

Moreover, the kernel warnings appear to be caused by the socketCAN
layer using netif_rx() function inside an interrupt, they can be
easily recreated using the obsoleted first generation USB2CAN device
and most likely any other device using socketCAN.

Finally, TX URB aborted(-2) errors are expected in the described
scenario as error code -2 (-ENODEV) simply notifies that the specified
device for the URB to be submitted no longer exists (as is expected
when device is brought down).

Taking into account the findings above we will close this ticket as
the issue was caused by non-standard usage of the device.

Best regards,
Andrejus F.



[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