summaryrefslogtreecommitdiffstats
path: root/src/drivers/ata
diff options
context:
space:
mode:
authorMichael Brown2006-05-31 16:34:17 +0200
committerMichael Brown2006-05-31 16:34:17 +0200
commit68125bc44173893fb3af08085b0b6b823b60d030 (patch)
treee93be1ff71e3b25a953947885a0c8379822694cf /src/drivers/ata
parentAdded drivers/ata directory (forgot to check this in previously). (diff)
downloadipxe-68125bc44173893fb3af08085b0b6b823b60d030.tar.gz
ipxe-68125bc44173893fb3af08085b0b6b823b60d030.tar.xz
ipxe-68125bc44173893fb3af08085b0b6b823b60d030.zip
Added generic asynchronous operations code.
Removed data_in_len and data_out_len from ata_command structure; the lengths are implied by the sector count and the presence of the data_in or data_out pointers. Changed AoE code to use subcommands by default, and made aoe_issue() nonblocking (with completion via async_wait()).
Diffstat (limited to 'src/drivers/ata')
-rw-r--r--src/drivers/ata/aoedev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/drivers/ata/aoedev.c b/src/drivers/ata/aoedev.c
index 0350bc097..9679fc1bd 100644
--- a/src/drivers/ata/aoedev.c
+++ b/src/drivers/ata/aoedev.c
@@ -37,7 +37,8 @@ static int aoe_command ( struct ata_device *ata,
struct aoe_device *aoedev
= container_of ( ata, struct aoe_device, ata );
- return aoe_issue_split ( &aoedev->aoe, command );
+ aoe_issue ( &aoedev->aoe, command );
+ return async_wait ( &aoedev->aoe.aop );
}
/**