diff --git a/master/fsm_coe.c b/master/fsm_coe.c index 978690b692a1762a8e3a8aeb3064aff1cc1dea5f..6f5b216d5d1701d70c4edeb7a1ca2e939500d977 100644 --- a/master/fsm_coe.c +++ b/master/fsm_coe.c @@ -1526,6 +1526,7 @@ void ec_fsm_coe_up_prepare_segment_request( EC_WRITE_U16(data, 0x2 << 12); // SDO request EC_WRITE_U8 (data + 2, (fsm->toggle << 4 // toggle | 0x3 << 5)); // upload segment request + memset(data + 3, 0x00, 7); if (fsm->slave->master->debug_level) { EC_DBG("Upload segment request:\n"); diff --git a/master/mailbox.c b/master/mailbox.c index 71ba6e80ad257988e172da8a7ef2922e577f4ae8..57de8a4ee93ef575e70dfdec3ffbd9819865fc25 100644 --- a/master/mailbox.c +++ b/master/mailbox.c @@ -71,7 +71,6 @@ uint8_t *ec_slave_mbox_prepare_send(const ec_slave_t *slave, /**< slave */ return ERR_PTR(-EOVERFLOW); } - ec_datagram_zero(datagram); ret = ec_datagram_fpwr(datagram, slave->station_address, slave->configured_rx_mailbox_offset, slave->configured_rx_mailbox_size); diff --git a/master/voe_handler.c b/master/voe_handler.c index 3f62de182b84d5c4c330bca74da88e30ebeae612..b9271f74456399063488693e72a8f3b6903840ad 100644 --- a/master/voe_handler.c +++ b/master/voe_handler.c @@ -234,6 +234,7 @@ void ec_voe_handler_state_write_start(ec_voe_handler_t *voe) EC_WRITE_U32(data, voe->vendor_id); EC_WRITE_U16(data + 4, voe->vendor_type); + /* data already in datagram */ voe->retries = EC_FSM_RETRIES; voe->jiffies_start = jiffies;