On 07/24/2010 07:47 PM, Fawad Lateef wrote:
> Hello Everyone,
> 
> Recently I spent long-time in rewriting and testing rx and tx processing for
> mcp251x driver (especifically for AT91 and MCP2515) which now use
> Asynchronous mode in normal conditions which is fast and if there is some
> MERRF error then it switches to slow path which is Synchronous and later
> switch back fast/Async path when error condition is removed. Moreover it
> does bus recovery through restart-ms if BUS goes offline and this continues
> till BUS becomes online. There isn't any sort of hanging in any case.
> 
> On Sat, Jul 24, 2010 at 4:14 PM, Alexander Holler <[email protected]>wrote:
> 
>> Am 24.07.2010 17:01, schrieb Alexander Holler:
>>
>>
>>  That doesn't help. The irq isn't trigger by MERR but the loop in the IRQ
>>> will not be left if that bit is set. Clearing the bit doesn't help,
>>> either clearing it doesn't work, or the bit will get set again almost
>>> right after it was cleared.
>>>
>>
>> The datasheet says
>>
>> "Once an interrupt flag is set by the device, the flag can not be reset by
>> the MCU until the interrupt condition is removed."
>>
>> So it's likely that this bit can' be cleared until the error has gone away
>> (even if it isn't used as trigger).
>>
>>
>> Regards,
>>
>> Alexander
>>
> 
> At the moment that driver code is very ugly thats why I haven't posted it on
> mailing-list yet. On monday I can post it if someone want to test it (kindly
> let me know); although I will post cleaned-up patch some time later.

I'm curious why you did re-write the driver. Did you try the mcp251x
driver from the mainline kernel? What problems did you encounter?

Thanks,

Wolfgang.
_______________________________________________
Socketcan-core mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-core

Reply via email to