summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/efi/nii.c
diff options
context:
space:
mode:
authorMichael Brown2015-04-14 17:20:32 +0200
committerMichael Brown2015-04-14 17:21:37 +0200
commit914dd539b0bb4e11d1f2749e12bac986df5f17a3 (patch)
treec84a125b672faf22b538d342d3bb08e02daf565c /src/drivers/net/efi/nii.c
parent[efi] Add EFI time source (diff)
downloadipxe-914dd539b0bb4e11d1f2749e12bac986df5f17a3.tar.gz
ipxe-914dd539b0bb4e11d1f2749e12bac986df5f17a3.tar.xz
ipxe-914dd539b0bb4e11d1f2749e12bac986df5f17a3.zip
[efi] Provide a dummy data block in nii_initialise()
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/drivers/net/efi/nii.c')
-rw-r--r--src/drivers/net/efi/nii.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/drivers/net/efi/nii.c b/src/drivers/net/efi/nii.c
index 1fdf98aa..935ff099 100644
--- a/src/drivers/net/efi/nii.c
+++ b/src/drivers/net/efi/nii.c
@@ -568,6 +568,7 @@ static int nii_get_init_info ( struct nii_nic *nii,
*/
static int nii_initialise ( struct nii_nic *nii ) {
PXE_CPB_INITIALIZE cpb;
+ PXE_DB_INITIALIZE db;
unsigned int op;
int stat;
int rc;
@@ -584,10 +585,14 @@ static int nii_initialise ( struct nii_nic *nii ) {
cpb.MemoryAddr = ( ( intptr_t ) nii->buffer );
cpb.MemoryLength = nii->buffer_len;
+ /* Construct data block */
+ memset ( &db, 0, sizeof ( db ) );
+
/* Issue command */
op = NII_OP ( PXE_OPCODE_INITIALIZE,
PXE_OPFLAGS_INITIALIZE_DO_NOT_DETECT_CABLE );
- if ( ( stat = nii_issue_cpb ( nii, op, &cpb, sizeof ( cpb ) ) ) < 0 ) {
+ if ( ( stat = nii_issue_cpb_db ( nii, op, &cpb, sizeof ( cpb ),
+ &db, sizeof ( db ) ) ) < 0 ) {
rc = -EIO_STAT ( stat );
DBGC ( nii, "NII %s could not initialise: %s\n",
nii->dev.name, strerror ( rc ) );