Fix leave Bootloader only in case of valid application code
[pub/lufa.git] / Bootloaders / DFU / BootloaderDFU.c
index f29af3b..ce76abe 100644 (file)
@@ -237,7 +237,10 @@ int main(void)
                        Delay_MS(1);
                        if (i++ > 5000)
                        {
-                               break;
+                               if (pgm_read_word_near(0) != 0xFFFF)
+                                       break;
+                               else
+                                       i = 0;
                        }
                }
                else
@@ -836,7 +839,7 @@ static void ProcessWriteCommand(void)
                        else                                                               // Start via jump
                        {
                                /* Set the flag to terminate the bootloader at next opportunity if a valid application has been loaded */
-                               if (pgm_read_word_near(0) == 0xFFFF)
+                               if (pgm_read_word_near(0) != 0xFFFF)
                                  RunBootloader = false;
                        }
                }