diff --git a/master/master.c b/master/master.c index 1e17b9cb3b6df9ccc850b77d53f000eba6176c50..5095df9f997c7e027ec413402c1510a121be3e17 100644 --- a/master/master.c +++ b/master/master.c @@ -705,9 +705,9 @@ void ec_master_receive_datagrams(ec_master_t *master, /**< EtherCAT master */ // search for matching datagram in the queue matched = 0; list_for_each_entry(datagram, &master->datagram_queue, queue) { - if (datagram->state == EC_DATAGRAM_SENT + if (datagram->index == datagram_index + && datagram->state == EC_DATAGRAM_SENT && datagram->type == datagram_type - && datagram->index == datagram_index && datagram->data_size == data_size) { matched = 1; break;