From: Wolfgang Grandegger <wg@grandegger.com>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Andri Yngvason <Andri.Yngvason@marel.com>, linux-can@vger.kernel.org
Subject: Re: Inconsistent error state transition error frames
Date: Tue, 09 Sep 2014 12:48:53 +0200 [thread overview]
Message-ID: <a62de8d447dda55b1aa30711f0dc4605@grandegger.com> (raw)
In-Reply-To: <540DDB16.8010304@pengutronix.de>
On Mon, 08 Sep 2014 18:36:38 +0200, Marc Kleine-Budde <mkl@pengutronix.de>
wrote:
> On 09/08/2014 06:26 PM, Andri Yngvason wrote:
>> I've been working on a userspace program to monitor the CAN bus and I
>> found that it only works as expected on one platform (flexcan). The
>> problem is that on most other platforms, no error frame is emitted
>> when the controller transitions back to error-active state. I see
Also the Flexcan implementation does not correctly change the error
states backwards, IIRC.
>> that you've already discussed this on this list here:
>> http://thread.gmane.org/gmane.linux.can/201
>>
>> Why hasn't this been resolved?
>
> I assume no one needed this feature so far, I assume. And/or cared not
> enough to upstream these patches.
Yep, little time left for free software development, lack of hardware,
etc. Somebody needs to care and post patches. Anyway, that's a good
occasion to start a migration path, maybe first for the Flexcan and
SJA1000 and MSCAN.
>> I already patched the mscan and sja1000 drivers myself, and I was
>> considering submitting them, but since you've already done some work
>> on this (which I believe is superior to mine), my work is unlikely to
>
> Wolfgang mentioned in this mail, that he had some patches back than. Do
> you still have them, Wolfgang?
The patches to consolidate bus-off and error-state handling are still
at:
https://gitorious.org/linux-can/wg-linux-can-next/commits/eec921ac28fde243456078a557768808d93d94a3
https://gitorious.org/linux-can/wg-linux-can-next/commit/825f9bcb961aa193bacb9af6fb0d8491ee8fd02e
They introduce the can_id flag CAN_ERR_STATE_CHANGE and the data[1] flag
CAN_ERR_CRTL_ACTIVE, which I think would simplify migration. Also
there is now a common function can_change_state() which should make
the driver code more readable.
>> be of any consequence to this community, except to show that this
>> inconsistency does indeed result in wasted effort and frustration.
>
> Feel free to post your patches.
>
>> Of course, I'll help out if I can, e.g. by testing on the platforms
>> that I have available.
That would be very useful. Currently I do not have any CAN hardware at
hand.
Wolfgang.
next prev parent reply other threads:[~2014-09-09 10:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-08 16:26 Inconsistent error state transition error frames Andri Yngvason
2014-09-08 16:36 ` Marc Kleine-Budde
2014-09-09 10:48 ` Wolfgang Grandegger [this message]
2014-09-09 11:59 ` Andri Yngvason
2014-09-09 13:53 ` Wolfgang Grandegger
2014-09-09 14:49 ` Andri Yngvason
2014-09-09 15:41 ` Wolfgang Grandegger
2014-09-09 18:08 ` Oliver Hartkopp
2014-09-10 10:19 ` Andri Yngvason
2014-09-10 10:29 ` Marc Kleine-Budde
2014-09-10 11:53 ` Wolfgang Grandegger
2014-09-10 19:08 ` Oliver Hartkopp
2014-09-11 10:03 ` Andri Yngvason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a62de8d447dda55b1aa30711f0dc4605@grandegger.com \
--to=wg@grandegger.com \
--cc=Andri.Yngvason@marel.com \
--cc=linux-can@vger.kernel.org \
--cc=mkl@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox