equal
deleted
inserted
replaced
207 |
207 |
208 // topology change in idle mode: clear all slaves and scan the bus |
208 // topology change in idle mode: clear all slaves and scan the bus |
209 if (fsm->topology_change_pending && |
209 if (fsm->topology_change_pending && |
210 master->mode == EC_MASTER_MODE_IDLE) { |
210 master->mode == EC_MASTER_MODE_IDLE) { |
211 fsm->topology_change_pending = 0; |
211 fsm->topology_change_pending = 0; |
|
212 fsm->tainted = 0; |
212 |
213 |
213 ec_master_eoe_stop(master); |
214 ec_master_eoe_stop(master); |
214 ec_master_destroy_slaves(master); |
215 ec_master_destroy_slaves(master); |
215 |
216 |
216 master->slave_count = datagram->working_counter; |
217 master->slave_count = datagram->working_counter; |
619 return; |
620 return; |
620 } |
621 } |
621 |
622 |
622 // have all states been validated? |
623 // have all states been validated? |
623 if (slave->list.next == &fsm->master->slaves) { |
624 if (slave->list.next == &fsm->master->slaves) { |
|
625 fsm->topology_change_pending = 0; |
624 fsm->tainted = 0; |
626 fsm->tainted = 0; |
625 fsm->slave = list_entry(fsm->master->slaves.next, ec_slave_t, list); |
627 fsm->slave = list_entry(fsm->master->slaves.next, ec_slave_t, list); |
626 // start writing addresses to offline slaves |
628 // start writing addresses to offline slaves |
627 ec_fsm_master_action_addresses(fsm); |
629 ec_fsm_master_action_addresses(fsm); |
628 return; |
630 return; |