From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Grandegger Subject: Re: [PATCH] can: flexcan: fix irq flooding by clearing all interrupt sources Date: Tue, 13 Dec 2011 13:13:34 +0100 Message-ID: <4EE7416E.8070203@grandegger.com> References: <4EE61928.10608@grandegger.com> <4EE61E3D.2090303@pengutronix.de> <4EE62141.8010305@grandegger.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Return-path: Received: from ngcobalt02.manitu.net ([217.11.48.102]:55908 "EHLO ngcobalt02.manitu.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752214Ab1LMMNp (ORCPT ); Tue, 13 Dec 2011 07:13:45 -0500 In-Reply-To: <4EE62141.8010305@grandegger.com> Sender: linux-can-owner@vger.kernel.org List-ID: To: Marc Kleine-Budde Cc: netdev@vger.kernel.org, linux-can@vger.kernel.org, Reuben Dowle , =?ISO-8859-1?Q?Lothar_Wa=DFmann?= On 12/12/2011 04:44 PM, Wolfgang Grandegger wrote: > On 12/12/2011 04:31 PM, Marc Kleine-Budde wrote: >> On 12/12/2011 04:09 PM, Wolfgang Grandegger wrote: >>> As pointed out by Reuben Dowle and Lothar Wa=DFmann, the TWRN_INT, >>> RWRN_INT, BOFF_INT interrupt sources need to be cleared as well >>> to avoid interrupt flooding, at least for the Flexcan on i.MX28 >>> SOCs. Furthermore, the interrupts are only cleared, if really one >>> of those interrupt sources are pending (which is not the case for >>> rx and tx done). >>> >>> CC: Reuben Dowle >>> CC: Lothar Wa=DFmann >>> Signed-off-by: Wolfgang Grandegger >> >> Have you tested on mx25/mx35, does it have any negative side effects= ? >> My schedule is full until Friday, sorry cannot test here. >=20 > Not yet. But it's not critical. Only the pending interrupt flags are > cleared. Maybe somebody else out there could do some testing... befor= e I > get hold of a MX35PDK board. I got my MX35PDK board working and can confirm, that the patch works on a i.mx35 as well. My testing also confirms, that the ESR TWRN_INT, RWRN_INT, FLEXCAN_ESR_BOFF_INT do not function as documented. These flags do show up once, together with ERR_INT, and then, after clearing, never again. Obviously a bug in the Flexcan logic. From the feedback we can say, that only the i.MX28 does behave differently (=3D=3Dcorrectly)= =2E All other seem to work with the current code: Flexcan on - i.mx25 - i.mx35 - i.mx53 - P1010/P1020 Wolfgang.