Skip to content
Commit 1c6d202e authored by Daniel Leung's avatar Daniel Leung Committed by Anas Nashif
Browse files

kernel: pipes: fix k_pipe_block_put() when not enough space



If k_pipe_block_put() is called and the pipe does not have enough
space to accomodate all the data in the memory pool, the subsequent
get operation will cause a CPU fault. The CPU fault is caused by
the timeout struct in the dummy thread not being initialized and
thus the scheduler will read bad memory. After fixing this,
another issue came up where the get operation would stall with
k_pipe_block_put() in same situation. This is due to the async
descriptor not being setup correctly. So fix this too.

This was discovered when debugging #9273.

Signed-off-by: default avatarDaniel Leung <daniel.leung@intel.com>
parent 59198514
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment