can: flexcan: Ancient Freescale Reference FlexCAN Driver and bug fixes so it works.
Tom Evans
tom_usenet at optusnet.com.au
Tue Dec 22 16:53:29 PST 2015
On 17/12/15 15:22, Tom Evans wrote:
> On 11/12/15 09:53, Tom Evans wrote:
>> On 10/12/2015 11:44 PM, Marc Kleine-Budde wrote:
>>
>> The simplest path was to fix the simple and stupidly obvious
>> bugs in the existing driver rather than add new complicated bugs.
>
> There seems to be no end of bugs in this driver. It is a lesson
> in something.
The Bus Off Recovery doesn't work either. A Bus Off condition results in the
module being soft-reset and then never woken up again, mainly because the
calls to "mod_timer()" forget to add "jiffies", so the timer doesn't trigger.
Then the Auto/Manual mode recovery test is probably backwards. Then it tests
MDIS instead of HALT, so it never resets the module after the soft reset. If
you program it in "Auto Recovery" mode it resets it anyway.
Bugs detailed here:
https://community.freescale.com/message/599099#599099
There'll probably be a link on that page to the patches to fix it after I've
tested it some more.
Tom
More information about the linux-arm-kernel
mailing list