Using the TCAN4550, I've had occasions where the m_can driver has fallen over with the "nobody cared" message -- the ISR has returned IRQ_NONE upon "99,900 of the previous 100,000 interrupts" (see kernel/irq/spurious.c, __report_bad_irq()). While such high numbers certainly indicate some kind of fault, presently, device-specific interrupts are totally ignored -- it may be that such a fault can be handled with a device-specific action. Comments are welcome. One thing right off the bat: I'm not sure whether the new callback should be added alongside clear_interrupts, or if it should replace it. I also need to replicate the fault observed with the TCAN4550 - it's unlikely that the handling added in this patchset is effective by itself. Torin Cooper-Bennun (3): can: m_can: add handle_dev_interrupts callback to m_can_ops can: m_can: m_can_isr(): handle device-specific interrupts can: tcan4x5x: add handle_dev_interrupts callback to ops drivers/net/can/m_can/m_can.c | 13 ++++++++++++- drivers/net/can/m_can/m_can.h | 2 ++ drivers/net/can/m_can/tcan4x5x-core.c | 25 +++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 1 deletion(-)