OSDN Git Service

can: mcp251xfd: mcp251xfd_irq(): stop timestamping worker in case error in IRQ
authorMarc Kleine-Budde <mkl@pengutronix.de>
Sat, 24 Apr 2021 14:20:39 +0000 (16:20 +0200)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Sat, 24 Jul 2021 17:02:32 +0000 (19:02 +0200)
commitef68a717960658e6a1e5f08adb0574326e9a12c2
tree8a701cbb221058e6f063c65fda661000f99b51cf
parent590eb2b7d8cfafb27e8108d52d4bf4850626d31d
can: mcp251xfd: mcp251xfd_irq(): stop timestamping worker in case error in IRQ

In case an error occurred in the IRQ handler, the chip status is
dumped via devcoredump and all IRQs are disabled, but the chip stays
powered for further analysis.

The chip is in an undefined state and will not receive any CAN frames,
so shut down the timestamping worker, which reads the TBC register
regularly, too. This avoids any CRC read error messages if there is a
communication problem with the chip.

Fixes: efd8d98dfb90 ("can: mcp251xfd: add HW timestamp infrastructure")
Link: https://lore.kernel.org/r/20210724155131.471303-1-mkl@pengutronix.de
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c