Re: [PATCH beta 1] 0/3] Fix race conditions in mrf24j40 interrupts

David Hauweele
2013-05-22T20:32:18Z

Hello,

I cannot use level-triggered interrupts with GPIO on the RPi, so I
cannot test this specific patch.
However I agree with the idea of level-triggered interrupts, that
would fix all major problems related to missed interrupts.

Beside this I'm running a ping -f since more than two hours now and it
seems to work well.

David

2013/5/22 Alan Ott <alan@signal11.us>:
> On 05/21/2013 10:01 PM, Alan Ott wrote:
>> David Hauweele noticed that the mrf24j40 would hang arbitrarily after some
>> period of heavy traffic. Two race conditions were discovered, and the
>> driver was changed to use threaded interrupts, since the enable/disable of
>> interrupts in the driver has recently been a lighning rod whenever issues
>> arise related to interrupts (costing engineering time), and since threaded
>> interrupts are the right way to do it.
>>
>> Alan Ott (3):
>> mrf24j40: Move INIT_COMPLETION() to before packet transmission
>> mrf24j40: Use threaded IRQ handler
>> mrf24j40: Use level-triggered interrupts
>>
>> drivers/net/ieee802154/mrf24j40.c | 31 +++++++++----------------------
>> 1 file changed, 9 insertions(+), 22 deletions(-)
>
> I forgot to add, I ran ping -f both ways all afternoon (6.5 hours), and
> it seems solid.
>