altos: Broke TeleMetrum GPS reporting by holding the GPS mutex too much
[fw/altos] / src / core / ao_monitor.c
index d492e32a8424d312d104ba24772c1d1baeaff8aa..18f170b49912af18c707e2e8780a03db522f2419 100644 (file)
@@ -81,7 +81,7 @@ ao_monitor_get(void)
                        size = ao_monitoring;
                        break;
                }
-               if (!ao_radio_recv(&ao_monitor_ring[ao_monitor_head], size + 2))
+               if (!ao_radio_recv(&ao_monitor_ring[ao_monitor_head], size + 2, 0))
                        continue;
                ao_monitor_head = ao_monitor_ring_next(ao_monitor_head);
                ao_wakeup(DATA_TO_XDATA(&ao_monitor_head));
@@ -132,6 +132,8 @@ ao_monitor_put(void)
                        ao_sleep(DATA_TO_XDATA(&ao_external_monitoring));
                while (ao_monitor_tail == ao_monitor_head && ao_external_monitoring)
                        ao_sleep(DATA_TO_XDATA(&ao_monitor_head));
+               if (!ao_external_monitoring)
+                       continue;
                m = &ao_monitor_ring[ao_monitor_tail];
                ao_monitor_tail = ao_monitor_ring_next(ao_monitor_tail);
                switch (ao_monitoring) {