summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2020-10-19 17:39:10 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2020-11-25 08:25:02 +0100
commit1dbdf94e67da026238ee051f4c438a93e9a76412 (patch)
treebe94a72ae7922ab41aae37c237c0abb21f62d197
parentbsp/atsam: Fix XDMAD status (diff)
downloadrtems-1dbdf94e67da026238ee051f4c438a93e9a76412.tar.bz2
bsps: Fix rtems_interrupt_server_delete()
The ISR lock must be destroyed to prevent memory corruption if RTEMS_PROFILING and RTEMS_SMP is enabled. Close #4189.
-rw-r--r--bsps/shared/irq/irq-server.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bsps/shared/irq/irq-server.c b/bsps/shared/irq/irq-server.c
index fe96b59cd4..19d03dc33f 100644
--- a/bsps/shared/irq/irq-server.c
+++ b/bsps/shared/irq/irq-server.c
@@ -682,6 +682,8 @@ static void bsp_interrupt_server_destroy_helper(void *arg)
rtems_chain_extract_unprotected(&s->node);
bsp_interrupt_unlock();
+ rtems_interrupt_lock_destroy(&s->lock);
+
if (s->destroy != NULL) {
(*s->destroy)(s);
}