It has been observed that some network drivers, f.ex. the SAM E70 GMAC, call net_pkt_unref from inside the interrupt that signals the successful transmission of a packet. This conflicts with the net_pkt_unref call made by ethernet_send after the packet has been given to the driver. We fix this by using an atomic_t to hold the reference count as there might be other, difficult to find cases of net_pkt_(un)ref being used across threads and interrupts. The name of the element has been changed from "ref" to "atomic_ref" to cause a compile error when code still has not been converted to use the atomic_* functions. Fixes #12708 Signed-off-by: Daniel Glöckner <dg@emlix.com> |
||
|---|---|---|
| .. | ||
| bluetooth | ||
| dummy | ||
| ethernet | ||
| ieee802154 | ||
| openthread | ||
| wifi | ||
| CMakeLists.txt | ||
| Kconfig | ||