diff -r 09c6fce1ae45 -r e27b37e80a99 master/cdev.c --- a/master/cdev.c Mon Jan 26 13:01:58 2009 +0000 +++ b/master/cdev.c Mon Jan 26 13:09:27 2009 +0000 @@ -2429,6 +2429,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_INT_REQUEST_QUEUED)) { @@ -2447,11 +2452,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) { @@ -2476,7 +2482,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; } @@ -2551,7 +2562,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;