master/ethernet.c
branchstable-1.1
changeset 1731 60b2aad9d40b
parent 1719 42ed27ae6785
child 1732 1cc865ba17c2
--- a/master/ethernet.c	Thu Sep 28 08:31:33 2006 +0000
+++ b/master/ethernet.c	Fri Oct 13 10:07:10 2006 +0000
@@ -362,7 +362,7 @@
 void ec_eoe_state_rx_fetch(ec_eoe_t *eoe /**< EoE handler */)
 {
     size_t rec_size, data_size;
-    uint8_t *data, frame_type, last_fragment, time_appended;
+    uint8_t *data, frame_type, last_fragment, time_appended, mbox_prot;
     uint8_t frame_number, fragment_offset, fragment_number;
     off_t offset;
 #if EOE_DEBUG_LEVEL > 1
@@ -376,7 +376,13 @@
     }
 
     if (!(data = ec_slave_mbox_fetch(eoe->slave, &eoe->datagram,
-                                     0x02, &rec_size))) {
+                                     &mbox_prot, &rec_size))) {
+        eoe->stats.rx_errors++;
+        eoe->state = ec_eoe_state_tx_start;
+        return;
+    }
+
+    if (mbox_prot != 0x02) { // EoE
         eoe->stats.rx_errors++;
         eoe->state = ec_eoe_state_tx_start;
         return;