On 11/21/2012 06:43 PM, Michael Pellegrini wrote: > Wolfgang Grandegger grandegger.com> writes: > >> Could you show the sequence? I need to lookup the meaning of the bits. > > I tried to capture the transition from functional to non-functional transmission > in dmesg, but the data gets logged too quickly. Here's the best I can do: > > Functional transmission: > > [74734.413300] c_can_isr: irqstatus=0x15 > [74734.441193] c_can_isr: irqstatus=0x8000 > [74734.441265] c_can_isr: irqstatus=0x16 > [74734.451140] c_can_isr: irqstatus=0x8000 > [74734.451196] c_can_isr: irqstatus=0x17 > [74734.461468] c_can_isr: irqstatus=0x8000 > [74734.461523] c_can_isr: irqstatus=0x18 > [74734.470794] c_can_isr: irqstatus=0x8000 > [74734.470846] c_can_isr: irqstatus=0x19 > [74734.488507] c_can_isr: irqstatus=0x8000 > [74734.488567] c_can_isr: irqstatus=0x1a > [74734.500074] c_can_isr: irqstatus=0x8000 > [74734.500127] c_can_isr: irqstatus=0x1b > [74734.515078] c_can_isr: irqstatus=0x8000 > [74734.515133] c_can_isr: irqstatus=0x1c > [74734.543469] c_can_isr: irqstatus=0x8000 > [74734.543509] c_can_isr: irqstatus=0x1d > [74734.553434] c_can_isr: irqstatus=0x8000 > [74734.553484] c_can_isr: irqstatus=0x1e > > Non-functional transmission: > > [74553.334110] c_can_isr: irqstatus=0x16 > [74553.334135] c_can_isr: irqstatus=0x16 > [74553.334161] c_can_isr: irqstatus=0x16 > [74553.334185] c_can_isr: irqstatus=0x16 > [74553.334209] c_can_isr: irqstatus=0x16 > [74553.334262] c_can_isr: irqstatus=0x16 > [74553.334290] c_can_isr: irqstatus=0x16 > [74553.334316] c_can_isr: irqstatus=0x16 > [74553.334342] c_can_isr: irqstatus=0x16 > [74553.334368] c_can_isr: irqstatus=0x16 > [74553.334396] c_can_isr: irqstatus=0x16 > [74553.334422] c_can_isr: irqstatus=0x16 > [74553.334448] c_can_isr: irqstatus=0x16 > [74553.334474] c_can_isr: irqstatus=0x16 > [74553.334499] c_can_isr: irqstatus=0x16 > [74553.334525] c_can_isr: irqstatus=0x16 Hm, object 0x16 does not get handled for some reason and then the interrupt re-occurs. Could you please try "c-can-pci-v5.tar.bz2". As suggested by Casper. It uses a spinlock in c_can_start_xmit() and c_can_do_tx() mainly to protect priv->tx_next. If that doesn't help, we need a more sophisticated instrumentation and trigger. Wolfgang.