On 10/27/2017 02:46 PM, GBert wrote: > From: Gerhard Bertelsmann > > SUN4Is CAN IP has a 64 byte deep FIFO buffer. If the buffer is not drained > fast enough (overrun) it's getting mangled. Already received frames are > dropped - the data can't be restored. > > V2: no duplicate error reporting Please don't forget your S-o-b. > --- > drivers/net/can/sun4i_can.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/can/sun4i_can.c b/drivers/net/can/sun4i_can.c > index 68ef0a4..bcec511 100644 > --- a/drivers/net/can/sun4i_can.c > +++ b/drivers/net/can/sun4i_can.c > @@ -539,6 +539,11 @@ static int sun4i_can_err(struct net_device *dev, u8 isrc, u8 status) > } > stats->rx_over_errors++; > stats->rx_errors++; > + > + /* reset the CAN IP by entering reset mode */ > + err = set_reset_mode(dev); > + err = set_normal_mode(dev); Please add the missing error handling here. 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 |