diff options
| author | Scott Shawcroft <scott@adafruit.com> | 2020-01-27 14:11:08 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-27 14:11:08 -0800 |
| commit | b36b2493bced9ca127803b307f0c6df52c9568f0 (patch) | |
| tree | 133f22d411dc0d0b804d1d1d7d3740f337fce304 /supervisor/shared/stack.c | |
| parent | 7c11a5ad6d59d6a87eec4cfb6ed4728d0c06761b (diff) | |
| parent | 085242bf5c05fec4ae0450712879e78b7e35ac38 (diff) | |
Merge pull request #2532 from tannewt/teensy4-dev
Refine iMX RT memory layout and add three boards
Diffstat (limited to 'supervisor/shared/stack.c')
| -rwxr-xr-x | supervisor/shared/stack.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/supervisor/shared/stack.c b/supervisor/shared/stack.c index dcecf2067..2b7b1c03a 100755 --- a/supervisor/shared/stack.c +++ b/supervisor/shared/stack.c @@ -46,6 +46,10 @@ void allocate_stack(void) { mp_uint_t c_size = (uint32_t) port_stack_get_top() - sp; + if (port_stack_get_top() != port_heap_get_top()) { + return; + } + stack_alloc = allocate_memory(c_size + next_stack_size + EXCEPTION_STACK_SIZE, true); if (stack_alloc == NULL) { stack_alloc = allocate_memory(c_size + CIRCUITPY_DEFAULT_STACK_SIZE + EXCEPTION_STACK_SIZE, true); @@ -71,6 +75,9 @@ void stack_init(void) { } void stack_resize(void) { + if (stack_alloc == NULL) { + return; + } if (next_stack_size == current_stack_size) { *stack_alloc->ptr = STACK_CANARY_VALUE; return; |
