diff options
author | Michael Brown | 2006-05-31 20:57:11 +0200 |
---|---|---|
committer | Michael Brown | 2006-05-31 20:57:11 +0200 |
commit | 99ef98d0bffdb9b8c67ad3892d533d33221529f0 (patch) | |
tree | 2a7b65c59a856fc57031cf0a23881340b0d21ce5 /src/net/aoe.c | |
parent | Missing from previous checkin. (diff) | |
download | ipxe-99ef98d0bffdb9b8c67ad3892d533d33221529f0.tar.gz ipxe-99ef98d0bffdb9b8c67ad3892d533d33221529f0.tar.xz ipxe-99ef98d0bffdb9b8c67ad3892d533d33221529f0.zip |
ATA devices are now asynchronous. The ATA layer itself now performs the
async_wait(), though we may wish to move this higher up the stack, and
consider making the block device model asynchronous. (There is only a
marginal cost for synchronous devices, since they can simply call
async_done() before returning; async_wait() will work seamlessly in this
situation).
Diffstat (limited to 'src/net/aoe.c')
-rw-r--r-- | src/net/aoe.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/net/aoe.c b/src/net/aoe.c index a91e0097..0d59a977 100644 --- a/src/net/aoe.c +++ b/src/net/aoe.c @@ -274,14 +274,17 @@ void aoe_close ( struct aoe_session *aoe ) { * * @v aoe AoE session * @v command ATA command + * @ret aop Asynchronous operation * * Only one command may be issued concurrently per session. This call * is non-blocking; use async_wait() to wait for the command to * complete. */ -void aoe_issue ( struct aoe_session *aoe, struct ata_command *command ) { +struct async_operation * aoe_issue ( struct aoe_session *aoe, + struct ata_command *command ) { aoe->command = command; aoe->status = 0; aoe->command_offset = 0; aoe_send_command ( aoe ); + return &aoe->aop; } |