master/fsm.c
changeset 395 8b1194e51cf2
parent 391 7d67195702dd
child 397 c5d2fb08e43f
--- a/master/fsm.c	Fri Oct 13 09:45:22 2006 +0000
+++ b/master/fsm.c	Fri Oct 13 20:44:23 2006 +0000
@@ -1649,7 +1649,7 @@
     if (EC_READ_U8(datagram->data + 1) & 0x81) {
         // still busy... timeout?
         if (get_cycles() - fsm->sii_start >= (cycles_t) 10 * cpu_khz) {
-            EC_ERR("SII: Timeout.\n");
+            EC_ERR("SII: Read timeout.\n");
             fsm->sii_state = ec_fsm_error;
 #if 0
             EC_DBG("SII busy: %02X %02X %02X %02X\n",
@@ -1658,6 +1658,7 @@
                    EC_READ_U8(datagram->data + 2),
                    EC_READ_U8(datagram->data + 3));
 #endif
+            return;
         }
 
         // issue check/fetch datagram again
@@ -1752,18 +1753,22 @@
         if (get_cycles() - fsm->sii_start >= (cycles_t) 10 * cpu_khz) {
             EC_ERR("SII: Write timeout.\n");
             fsm->sii_state = ec_fsm_error;
+            return;
         }
 
         // issue check/fetch datagram again
         ec_master_queue_datagram(fsm->master, datagram);
-    }
-    else if (EC_READ_U8(datagram->data + 1) & 0x40) {
+        return;
+    }
+
+    if (EC_READ_U8(datagram->data + 1) & 0x40) {
         EC_ERR("SII: Write operation failed!\n");
         fsm->sii_state = ec_fsm_error;
-    }
-    else { // success
-        fsm->sii_state = ec_fsm_end;
-    }
+        return;
+    }
+
+    // success
+    fsm->sii_state = ec_fsm_end;
 }
 
 /******************************************************************************