On 10/8/19 12:24 PM, Kurt Van Dijck wrote: > On di, 08 okt 2019 12:02:15 +0200, Marc Kleine-Budde wrote: >> On 10/8/19 11:57 AM, Marc Kleine-Budde wrote: >>> From: Kurt Van Dijck <dev.kurt@xxxxxxxxxxxxxxxxxxxxxx> >>> >>> When the status register is read without status IRQ pending, it may get >>> into a state that it goes into busoff state without having its irq >>> activated, so the driver will never know. >> >> Can you help rephrasing the patch description. >> >> I understand the problem is that we should only read the status register >> if there is a status IRQ. But what are the consequences regarding the >> busoff state? > > busoff is the last irq you'll get :-) > If you miss that one, you'll never catch in again. > > The observation is that you have some bus errors, but the driver doesn't > know that the chip went in busoff, so it will never wake up again. > > Only solution is to set link down & up again. > > What's your opinion about this one: Perfect, now it's easier to understand the problem. > When the status register is read without the status IRQ pending, the > chip may not raise the interrupt line for an upcoming status interrupt > and the driver may miss a status interrupt. > It is critical that the BUSOFF status interrupt is informed to the ^^^^^^^^ replaced by forwarded > higher layers, since no more interrupts will follow without > intervention. added to linux-can. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
Attachment:
signature.asc
Description: OpenPGP digital signature