diff -r 11ec009e145d -r fae3a1759126 master/cdev.c --- a/master/cdev.c Mon Jan 19 10:18:41 2009 +0000 +++ b/master/cdev.c Mon Jan 19 12:36:18 2009 +0000 @@ -1228,6 +1228,11 @@ up(&master->master_sem); + if (master->debug_level) { + EC_DBG("Scheduled FoE read request on slave %u.\n", + request.slave->ring_position); + } + // wait for processing through FSM if (wait_event_interruptible(master->foe_queue, request.req.state != EC_REQUEST_QUEUED)) { @@ -1246,11 +1251,12 @@ // wait until master FSM has finished processing wait_event(master->foe_queue, request.req.state != EC_REQUEST_BUSY); - data.abort_code = request.req.abort_code; + data.result = request.req.result; + data.error_code = request.req.error_code; if (master->debug_level) { - EC_DBG("%d bytes read via FoE (abort_code = 0x%x).\n", - request.req.data_size, request.req.abort_code); + EC_DBG("Read %d bytes via FoE (result = 0x%x).\n", + request.req.data_size, request.req.result); } if (request.req.state != EC_REQUEST_SUCCESS) { @@ -1275,7 +1281,12 @@ retval = -EFAULT; } + if (master->debug_level) + EC_DBG("FoE read request finished on slave %u.\n", + request.slave->ring_position); + ec_foe_request_clear(&request.req); + return retval; } @@ -1350,7 +1361,8 @@ // wait until master FSM has finished processing wait_event(master->foe_queue, request.req.state != EC_REQUEST_BUSY); - data.abort_code = request.req.abort_code; + data.result = request.req.result; + data.error_code = request.req.error_code; retval = request.req.state == EC_REQUEST_SUCCESS ? 0 : -EIO;