equal
deleted
inserted
replaced
194 fsm->slaves_responding = datagram->working_counter; |
194 fsm->slaves_responding = datagram->working_counter; |
195 EC_INFO("%u slave(s) responding.\n", fsm->slaves_responding); |
195 EC_INFO("%u slave(s) responding.\n", fsm->slaves_responding); |
196 } |
196 } |
197 |
197 |
198 if (fsm->link_state && !master->main_device.link_state) { // link went down |
198 if (fsm->link_state && !master->main_device.link_state) { // link went down |
199 // clear slave list |
199 if (master->debug_level) { |
|
200 EC_DBG("Master state machine detected " |
|
201 "link down. Clearing slave list.\n"); |
|
202 } |
|
203 |
200 #ifdef EC_EOE |
204 #ifdef EC_EOE |
201 ec_master_eoe_stop(master); |
205 ec_master_eoe_stop(master); |
202 ec_master_clear_eoe_handlers(master); |
206 ec_master_clear_eoe_handlers(master); |
203 #endif |
207 #endif |
204 ec_master_clear_slaves(master); |
208 ec_master_clear_slaves(master); |
205 } |
209 } |
206 fsm->link_state = master->main_device.link_state; |
210 fsm->link_state = master->main_device.link_state; |
207 |
211 |
208 if (datagram->state != EC_DATAGRAM_RECEIVED) { // link is down |
212 if (datagram->state != EC_DATAGRAM_RECEIVED) { |
209 ec_fsm_master_restart(fsm); |
213 ec_fsm_master_restart(fsm); |
210 return; |
214 return; |
211 } |
215 } |
212 |
216 |
213 if (fsm->slaves_responding) { |
217 if (fsm->slaves_responding) { |