diff --git a/embed/bootloader/main.c b/embed/bootloader/main.c index bd5d557992..b4f57a5e62 100644 --- a/embed/bootloader/main.c +++ b/embed/bootloader/main.c @@ -281,7 +281,7 @@ int main(void) // start the bootloader if user touched the screen or no firmware installed if (touched || !vendor_parse_header((const uint8_t *)FIRMWARE_START, &vhdr)) { if (!bootloader_loop()) { - shutdown(); + return 1; } } diff --git a/embed/bootloader/startup.s b/embed/bootloader/startup.s index 6603a292e0..cbcfb67bd6 100644 --- a/embed/bootloader/startup.s +++ b/embed/bootloader/startup.s @@ -36,7 +36,6 @@ reset_handler: // enter the application code bl main - // loop forever if the application code returns - b . + b shutdown .end diff --git a/embed/firmware/startup.s b/embed/firmware/startup.s index 6603a292e0..cbcfb67bd6 100644 --- a/embed/firmware/startup.s +++ b/embed/firmware/startup.s @@ -36,7 +36,6 @@ reset_handler: // enter the application code bl main - // loop forever if the application code returns - b . + b shutdown .end