altos: Don't try to grab radio while firing MM igniters
authorKeith Packard <keithp@keithp.com>
Wed, 27 Jun 2012 08:20:43 +0000 (01:20 -0700)
committerKeith Packard <keithp@keithp.com>
Wed, 27 Jun 2012 08:20:43 +0000 (01:20 -0700)
If you're in idle mode, you stop forever as the packet mode receiver
will own the radio mutex forever.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/core/ao_ignite.c

index 561b551372f5a5b26c04cb6a8d981f36fd6afa07..d4aef153a6e25cfecf246c8f63fe798508a5c773 100644 (file)
@@ -81,7 +81,9 @@ ao_igniter_status(enum ao_igniter igniter)
 void
 ao_igniter_fire(enum ao_igniter igniter) __critical
 {
+#ifndef MEGAMETRUM
        ao_mutex_get(&ao_radio_mutex);
+#endif
        ao_ignition[igniter].firing = 1;
        switch(ao_config.ignite_mode) {
        case AO_IGNITE_MODE_DUAL:
@@ -126,7 +128,9 @@ ao_igniter_fire(enum ao_igniter igniter) __critical
                break;
        }
        ao_ignition[igniter].firing = 0;
+#ifndef MEGAMETRUM
        ao_mutex_put(&ao_radio_mutex);
+#endif
 }
 
 void