diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-10-19 17:39:10 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-10-19 17:44:49 +0200 |
commit | bb4e534014c589fd748ac8a9c1b2488b5bfa650c (patch) | |
tree | 21a0ac784abf5a4ac0931c1f013fb64a5e481352 /bsps | |
parent | 2b9fb3141cb10b8bbfa1a18a6aab42474988a636 (diff) |
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 #4158.
Diffstat (limited to 'bsps')
-rw-r--r-- | bsps/shared/irq/irq-server.c | 2 |
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); } |