summaryrefslogtreecommitdiffstats
path: root/src/net/aoe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/aoe.c')
-rw-r--r--src/net/aoe.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/net/aoe.c b/src/net/aoe.c
index 2dc5ed406..1c3cd1d2b 100644
--- a/src/net/aoe.c
+++ b/src/net/aoe.c
@@ -56,7 +56,7 @@ static void aoe_done ( struct aoe_session *aoe, int rc ) {
aoe->command = NULL;
/* Mark async operation as complete */
- async_done ( &aoe->aop, rc );
+ async_done ( &aoe->async, rc );
}
/**
@@ -309,17 +309,19 @@ void aoe_close ( struct aoe_session *aoe ) {
*
* @v aoe AoE session
* @v command ATA command
- * @ret aop Asynchronous operation
+ * @v parent Parent asynchronous operation
+ * @ret rc Return status code
*
* Only one command may be issued concurrently per session. This call
* is non-blocking; use async_wait() to wait for the command to
* complete.
*/
-struct async_operation * aoe_issue ( struct aoe_session *aoe,
- struct ata_command *command ) {
+int aoe_issue ( struct aoe_session *aoe, struct ata_command *command,
+ struct async *parent ) {
aoe->command = command;
aoe->status = 0;
aoe->command_offset = 0;
aoe_send_command ( aoe );
- return &aoe->aop;
+ async_init ( &aoe->async, &default_async_operations, parent );
+ return 0;
}