From: Keith Packard Date: Mon, 30 Aug 2010 05:42:23 +0000 (-0700) Subject: altos: Abort radio harder when terminating packet mode. X-Git-Tag: debian/0.7+22+g4790f78~15 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=43619c13f749b79c096d1e8fdab3d5cfb5fd85f1;ds=sidebyside altos: Abort radio harder when terminating packet mode. Make sure the master radio tasks don't get stuck waiting for an incoming packet again by aborting the radio each time we poke the tasks. Signed-off-by: Keith Packard --- diff --git a/src/ao_packet_master.c b/src/ao_packet_master.c index 5e13a91a..50f5aeff 100644 --- a/src/ao_packet_master.c +++ b/src/ao_packet_master.c @@ -126,8 +126,8 @@ ao_packet_forward(void) __reentrant for (c = 0; (ao_packet_tx_used || ao_tx_packet.len) && c < 10; c++) ao_delay(AO_MS_TO_TICKS(100)); ao_packet_enable = 0; - ao_radio_abort(); while (ao_packet_echo_task.wchan || ao_packet_task.wchan) { + ao_radio_abort(); ao_wake_task(&ao_packet_echo_task); ao_wake_task(&ao_packet_task); ao_yield();