Re: [PATCH] can: mcp251xfd: mcp251xfd_irq(): stop timestamping worker in case error in IRQ

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

 



On Sat, Jul 24, 2021 at 05:51:31PM +0200, Marc Kleine-Budde wrote:
> 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")
> Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@xxxxxxxxxx>

Thanks,
Mani

> ---
>  drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
> index 47c3f408a799..9ae48072b6c6 100644
> --- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
> +++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c
> @@ -2300,6 +2300,7 @@ static irqreturn_t mcp251xfd_irq(int irq, void *dev_id)
>  		   err, priv->regs_status.intf);
>  	mcp251xfd_dump(priv);
>  	mcp251xfd_chip_interrupts_disable(priv);
> +	mcp251xfd_timestamp_stop(priv);
>  
>  	return handled;
>  }
> -- 
> 2.30.2
> 
> 



[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