On 09/02/2015 12:17 PM, Guillaume Picquet wrote: > Hi every one. > > I’m not sure to post to the correct list, if so please correct me. 100% correct. > I’m doing tests on embedded hardware with integrated CAN bus interface > (based on AT91). The driver provides Linux Socket API and I try to see > the limits: > I have one transmitter that writes CAN frames (CAN_RAW) as fast as > possible and a receiver that reads continuously. > After a moment the receiver gets an error frame signalling RX overflow. > I have no problem with that, it's normal and expected. > But question is why at this point no more frame is received ? It's probably a bug in the driver. > read() do not return, I've tested also with select() which return timeout. > (The restart-ms option is set) > > I expected some dropped frames and others RX buffer errors but not the > end of reception. > > The only way to recover the interface is to set it down and up again. Try the patches I send you in the other mail. They switch the at91 to the new infrastructure. Some generic testing show good results, but it seems you have a harder/better test case. Hope that helps, please keep us informed, 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 |