FoE: Fix expected packet number when busy
author"Dave Page <dave.page@gleeble.com>"
Wed, 22 Jan 2014 15:53:19 +1300
changeset 2605 f3843f68644f
parent 2604 8476f196755b
child 2606 764801a0f2aa
FoE: Fix expected packet number when busy
master/fsm_foe.c
--- a/master/fsm_foe.c	Wed Jan 22 13:01:45 2014 +1300
+++ b/master/fsm_foe.c	Wed Jan 22 15:53:19 2014 +1300
@@ -772,10 +772,15 @@
     opCode = EC_READ_U8(data);
 
     if (opCode == EC_FOE_OPCODE_BUSY) {
+        fsm->rx_expected_packet_no--;
         if (ec_foe_prepare_send_ack(fsm, datagram)) {
             ec_foe_set_rx_error(fsm, FOE_PROT_ERROR);
         }
         fsm->state = ec_fsm_foe_state_sent_ack;
+#ifdef DEBUG_FOE
+        EC_SLAVE_DBG(fsm->slave, 0, "%s() busy. Next pkt %u\n", __func__,
+                fsm->rx_expected_packet_no);
+#endif
         return;
     }