init.c: mark wlan_task as noreturn
[open-ath9k-htc-firmware.git] / target_firmware / magpie_fw_dev / target / init / init.c
index 8fc464006ba7805f7d49a6b594650083c7442df1..ba364471efeac8b9b5335ff6dd91a0eb6fcafdc8 100755 (executable)
@@ -166,9 +166,12 @@ void exception_reset(struct register_dump_s *dump)
        MAGPIE_REG_USB_RX1_SWAP_DATA = 0x1;
        MAGPIE_REG_USB_RX2_SWAP_DATA = 0x1;
 
-       A_PRINTF("Jump to BOOT\n");
-
-       // reboot.....
+        A_PRINTF("Cold reboot initiated.");
+#if defined(PROJECT_MAGPIE)
+        HAL_WORD_REG_WRITE(WATCH_DOG_MAGIC_PATTERN_ADDR, 0);
+#elif defined(PROJECT_K2)
+        HAL_WORD_REG_WRITE(MAGPIE_REG_RST_STATUS_ADDR, 0);
+#endif /* #if defined(PROJECT_MAGPIE) */
        A_USB_JUMP_BOOT();
 }
 
@@ -352,18 +355,11 @@ static void idle_task()
        return;
 }
 
-void wlan_task(void)
+void __noreturn wlan_task(void)
 {
        loop_low=loop_high=0;
 
        while(1) {
-#if defined(PROJECT_MAGPIE)
-               if (bJumptoFlash){
-                       bJumptoFlash = FALSE;
-                       break;
-               }
-#endif
-
                /* update wdt timer */
                A_WDT_TASK();