From a33699eb0a0cc909bb3506be68fc57d4914849ea Mon Sep 17 00:00:00 2001
From: Florian Pose <fp@igh-essen.com>
Date: Fri, 19 May 2006 13:58:15 +0000
Subject: [PATCH] Link down treated as topology change in state machine.

---
 master/fsm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/master/fsm.c b/master/fsm.c
index e46bf0e5..22973223 100644
--- a/master/fsm.c
+++ b/master/fsm.c
@@ -151,7 +151,6 @@ void ec_fsm_master_start(ec_fsm_t *fsm)
 {
     ec_command_brd(&fsm->command, 0x0130, 2);
     ec_master_queue_command(fsm->master, &fsm->command);
-
     fsm->master_state = ec_fsm_master_wait;
 }
 
@@ -164,6 +163,9 @@ void ec_fsm_master_wait(ec_fsm_t *fsm)
     ec_slave_t *slave;
 
     if (command->state != EC_CMD_RECEIVED) {
+        if (!fsm->master->device->link_state)
+            // treat link down as topology change
+            fsm->master_slaves_responding = 0;
         fsm->master_state = ec_fsm_master_start;
         fsm->master_state(fsm); // execute immediately
         return;
-- 
GitLab