zephyr/drivers/slip
Leandro Pereira 3587b97845 net: slip: Do not remove fragments when sending data
The rationale for removing fragments while sending them is to free the
memory they're using as soon as possible.  This worked fine because
most protocols implemented initially did not require any
retransmission, so the upper layers were never holding an extra
reference to the buffer (& their fragments).

This is not the case anymore, as the TCP layer holds a reference to
a buffer (& fragments) while confirmation from the peer has not been
received, allowing retransmission.

With this change, the fragments of a buffer are not removed when being
sent by the SLIP layer; however, the buffer is still deferenced when the
transmission is complete.  If nothing else holds a reference, all the
fragments are returned to their respective pools, like before.

Change-Id: I74966d72f6970b66f526ea0b765101077c843de2
Signed-off-by: Leandro Pereira <leandro.pereira@intel.com>
2017-01-20 16:23:17 +02:00
..
Kconfig drivers/slip: Fix circular dependency on NET_SLIP 2016-12-02 12:40:50 +02:00
Makefile drivers: slip: remove unneeded include path addition 2016-12-10 02:15:49 +00:00
slip.c net: slip: Do not remove fragments when sending data 2017-01-20 16:23:17 +02:00