summaryrefslogtreecommitdiffstats
path: root/src/drivers
diff options
context:
space:
mode:
authorMichael Brown2006-06-01 13:14:59 +0200
committerMichael Brown2006-06-01 13:14:59 +0200
commit1f394c2f7c81df27b39c3f76715427398625b048 (patch)
tree23b8c3219c291e8698f325815bbf3ffa38a669ba /src/drivers
parentUntil we have a functioning UDP stack and PXE API again, there's not much (diff)
downloadipxe-1f394c2f7c81df27b39c3f76715427398625b048.tar.gz
ipxe-1f394c2f7c81df27b39c3f76715427398625b048.tar.xz
ipxe-1f394c2f7c81df27b39c3f76715427398625b048.zip
Backing out last change; no immediate plans to make the whole block-device
layer asynchronous, so keeping the sync/async boundary within aoedev.c seems cleanest for now.
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/ata/aoedev.c9
-rw-r--r--src/drivers/block/ata.c3
2 files changed, 6 insertions, 6 deletions
diff --git a/src/drivers/ata/aoedev.c b/src/drivers/ata/aoedev.c
index 4b4541f66..9679fc1bd 100644
--- a/src/drivers/ata/aoedev.c
+++ b/src/drivers/ata/aoedev.c
@@ -30,14 +30,15 @@
*
* @v ata ATA device
* @v command ATA command
- * @ret aop Asynchronous operation
+ * @ret rc Return status code
*/
-static struct async_operation * aoe_command ( struct ata_device *ata,
- struct ata_command *command ) {
+static int aoe_command ( struct ata_device *ata,
+ struct ata_command *command ) {
struct aoe_device *aoedev
= container_of ( ata, struct aoe_device, ata );
- return aoe_issue ( &aoedev->aoe, command );
+ aoe_issue ( &aoedev->aoe, command );
+ return async_wait ( &aoedev->aoe.aop );
}
/**
diff --git a/src/drivers/block/ata.c b/src/drivers/block/ata.c
index d2d77aeac..e0df3673f 100644
--- a/src/drivers/block/ata.c
+++ b/src/drivers/block/ata.c
@@ -20,7 +20,6 @@
#include <string.h>
#include <assert.h>
#include <byteswap.h>
-#include <gpxe/async.h>
#include <gpxe/blockdev.h>
#include <gpxe/ata.h>
@@ -49,7 +48,7 @@ ata_command ( struct ata_device *ata, struct ata_command *command ) {
( unsigned long long ) command->cb.lba.native,
command->cb.count.native );
- return async_wait ( ata->command ( ata, command ) );
+ return ata->command ( ata, command );
}
/**