summaryrefslogtreecommitdiff
path: root/src/ao_packet_master.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2010-08-29 22:42:23 -0700
committerKeith Packard <keithp@keithp.com>2010-08-29 22:42:23 -0700
commit43619c13f749b79c096d1e8fdab3d5cfb5fd85f1 (patch)
treee79aab1cf2f3b5e10acf924e7bd33b02663fc1bd /src/ao_packet_master.c
parentc4a8569f61eddf690d00337543462235ecbfbe54 (diff)
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 <keithp@keithp.com>
Diffstat (limited to 'src/ao_packet_master.c')
-rw-r--r--src/ao_packet_master.c2
1 files changed, 1 insertions, 1 deletions
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();