master/fsm_master.c
changeset 1225 4d5b739edcb5
parent 1219 aa030fb1e980
child 1277 1189e040fe12
--- a/master/fsm_master.c	Mon Sep 29 10:17:33 2008 +0000
+++ b/master/fsm_master.c	Tue Sep 30 07:34:55 2008 +0000
@@ -165,6 +165,7 @@
 {
     fsm->idle = 1;
     ec_datagram_brd(fsm->datagram, 0x0130, 2);
+    ec_datagram_zero(fsm->datagram);
     fsm->state = ec_fsm_master_state_broadcast;
 }
 
@@ -276,6 +277,7 @@
         fsm->slave = master->slaves;
         ec_datagram_fprd(fsm->datagram, fsm->slave->station_address,
                 0x0130, 2);
+        ec_datagram_zero(datagram);
         fsm->retries = EC_FSM_RETRIES;
         fsm->state = ec_fsm_master_state_read_state;
     } else {
@@ -356,6 +358,7 @@
         if (request->dir == EC_DIR_INPUT) {
             ec_datagram_fprd(fsm->datagram, request->slave->station_address,
                     request->offset, request->length);
+            ec_datagram_zero(fsm->datagram);
         } else {
             if (request->length > fsm->datagram->mem_size) {
                 EC_ERR("Request length (%u) exceeds maximum datagram size (%u)!\n",
@@ -541,6 +544,7 @@
         fsm->idle = 1;
         ec_datagram_fprd(fsm->datagram,
                 fsm->slave->station_address, 0x0130, 2);
+        ec_datagram_zero(fsm->datagram);
         fsm->retries = EC_FSM_RETRIES;
         fsm->state = ec_fsm_master_state_read_state;
         return;