--- a/master/slave.c Mon Mar 14 11:24:15 2011 +0100
+++ b/master/slave.c Tue Apr 05 08:27:05 2011 +0200
@@ -159,19 +159,20 @@
INIT_LIST_HEAD(&slave->soe_requests);
init_waitqueue_head(&slave->soe_queue);
- // init state machine datagram
- ec_datagram_init(&slave->fsm_datagram);
- snprintf(slave->fsm_datagram.name, EC_DATAGRAM_NAME_SIZE,
+ // init datagram
+ ec_datagram_init(&slave->datagram);
+ snprintf(slave->datagram.name, EC_DATAGRAM_NAME_SIZE,
"slave%u-fsm", slave->ring_position);
- ret = ec_datagram_prealloc(&slave->fsm_datagram, EC_MAX_DATA_SIZE);
+ ret = ec_datagram_prealloc(&slave->datagram, EC_MAX_DATA_SIZE);
if (ret < 0) {
- ec_datagram_clear(&slave->fsm_datagram);
+ ec_datagram_clear(&slave->datagram);
EC_SLAVE_ERR(slave, "Failed to allocate FSM datagram.\n");
return;
}
+ ec_mbox_init(&slave->mbox,&slave->datagram);
// create state machine object
- ec_fsm_slave_init(&slave->fsm, slave, &slave->fsm_datagram);
+ ec_fsm_slave_init(&slave->fsm, slave, &slave->mbox);
}
/*****************************************************************************/
@@ -255,7 +256,7 @@
if (slave->sii_words)
kfree(slave->sii_words);
ec_fsm_slave_clear(&slave->fsm);
- ec_datagram_clear(&slave->fsm_datagram);
+ ec_mbox_clear(&slave->mbox);
}
/*****************************************************************************/