Ahh, thx for clarification.
Best regards,
Martin
Am 24.06.2015 um 10:14 schrieb Daniel Krebs:
Hi Martin,
all the mentioned function are not called in interrupt context. Take a
look at ng_at86rf2xx.c. There you find the real ISR that sends a msg
to the next higher level notifying about the IRQ. Then from there
everything else in the driver is executed from thread context.
So I guess this is unrelated to the problems you are having.
Cheers,
Daniel
Am 24. Juni 2015 09:54:09 MESZ, schrieb Martin
<[email protected]>:
Hi all,
I've tested the ng_ stack with samr21-xpro boards using the new
ng_at86rf2xx driver.
Since I sometimes encountered hardfaults I took a look in the ISR
handling of the driver [1].
There we handle incoming packets when the receiver has finished the RX
process [2].
Since we are in a ISR, all other processes has been interrupted.
Now when we call _receive_data() function inside the ISR, that in turn
calls pktbuf handling/manipulating functions [3],
we try to acquire the mutex protecting the pktbuf [4].
Since we are still inside of the ISR probably the mutex is acquired by
someone else.
If true this leads to a deadlock since the ISR would wait forever to
acquire the mutex and never return to leave the ISR.
Additionally if we successfully acquire the mutex,
we could produce inconsistencies iff the protection is not performed
consistently.
Just wanted to ask if I'm mistaken here and missed something.
Best regards,
Martin
[1]
https://github.com/RIOT-OS/RIOT/blob/master/drivers/ng_at86rf2xx/ng_at86rf2xx_netdev.c#L671
[2]
https://github.com/RIOT-OS/RIOT/blob/master/drivers/ng_at86rf2xx/ng_at86rf2xx_netdev.c#L688
[3]
https://github.com/RIOT-OS/RIOT/blob/master/drivers/ng_at86rf2xx/ng_at86rf2xx_netdev.c#L271
[4]
https://github.com/RIOT-OS/RIOT/blob/master/sys/net/crosslayer/ng_pktbuf/ng_pktbuf.c#L81
------------------------------------------------------------------------
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel
_______________________________________________
devel mailing list
[email protected]
https://lists.riot-os.org/mailman/listinfo/devel