diff -r 731422684dfd -r 45d64e8e3675 master/fsm_master.c --- a/master/fsm_master.c Tue May 05 09:43:32 2009 +0000 +++ b/master/fsm_master.c Tue May 05 09:45:31 2009 +0000 @@ -522,6 +522,7 @@ fsm->foe_request = &request->req; fsm->slave = slave; fsm->state = ec_fsm_master_state_foe_request; + fsm->idle = 0; ec_fsm_foe_transfer(&fsm->fsm_foe, slave, &request->req); ec_fsm_foe_exec(&fsm->fsm_foe); return 1; @@ -976,6 +977,8 @@ if (ec_fsm_foe_exec(&fsm->fsm_foe)) return; + fsm->idle = 1; + if (!ec_fsm_foe_success(&fsm->fsm_foe)) { EC_ERR("Failed to handle FoE request to slave %u.\n", slave->ring_position);