Skip to content
Commit 30a3f5ce authored by Jukka Rissanen's avatar Jukka Rissanen
Browse files

net: 6lo: Change how net_buf is allocated in RX side



If there is lot of network traffic, it is possible that all the
network packets are allocated by network driver. The device driver
places the received packets into RX queue. Then that queue is read
by 6lo code. During the uncompression, the 6lo code tries allocate
net_buf in order to place proper IPv6 header into it.
If all the data fragments are in use at this point, then 6lo cannot
continue and it blocks while waiting available net_buf. This leads
to deadlock in the stack.
The solution is to change the 6lo to allocate the net_buf using a
timeout which will cause the received packet to be dropped if it
cannot be uncompressed because of out-of-buf situation.

Change-Id: I137f02b05193e16c45da8804974d357c920c861d
Signed-off-by: default avatarJukka Rissanen <jukka.rissanen@linux.intel.com>
parent 10979d83
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment