tests: drivers: spi: spi_slave: Fix memory corruption
This fixes memory corruption of delayable work when
tests executes unsupported function.
When test (e.g. only_rx_in_chunks) is executed it starts
delayed work for master functionality (with 10 ms delay).
Later when slave function is tried and reports that
function is unsupported, test is terminated (task ends)
but work is still scheduled.
When next test starts it clears work that is already
scheduled:
static void before(void *not_used)
{
ARG_UNUSED(not_used);
memset(&tdata, 0, sizeof(tdata));
this leads to memory corruption and system work queue
tries to remove work but it never does since head/next
pointers are zeroed at that time.
This just adds after function that cancels work
regardless if it was scheduled or not.
Signed-off-by:
Jerzy Kasenberg <jerzy.kasenberg@codecoup.pl>
Loading
Please sign in to comment