altos: Don't lose IRQ disabled state in ao_sleep
[fw/altos] / src / core / ao_task.c
index a19a6a6f5e62f1f484ea09991c89d30cae9c7b79..910f158785fbf894dc10415d2c8bce5cfdc1352e 100644 (file)
@@ -103,9 +103,7 @@ ao_yield(void) ao_arch_naked_define
 uint8_t
 ao_sleep(__xdata void *wchan)
 {
-       ao_arch_critical(
-               ao_cur_task->wchan = wchan;
-               );
+       ao_cur_task->wchan = wchan;
        ao_yield();
        if (ao_cur_task->wchan) {
                ao_cur_task->wchan = NULL;
@@ -164,7 +162,7 @@ ao_task_info(void)
                task = ao_tasks[i];
                printf("%12s: wchan %04x\n",
                       task->name,
-                      (int16_t) task->wchan);
+                      (int) task->wchan);
        }
 }