From 75acfab6c310d12666bcd7f7655a1c6fb8e1822d Mon Sep 17 00:00:00 2001 From: tye1 Date: Thu, 12 Apr 2012 09:54:59 +0000 Subject: Removes irrelevant parameter during negotiation to avoid login fail. Signed-off-by: Ye Ting Reviewed by: Ouyang, Qian Reviewed by: Tian, Feng git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13193 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/IScsiDxe/IScsiProto.c | 10 ++++++++-- NetworkPkg/IScsiDxe/IScsiProto.h | 6 +++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/NetworkPkg/IScsiDxe/IScsiProto.c b/NetworkPkg/IScsiDxe/IScsiProto.c index acb7876ab5..72c90a7fe8 100644 --- a/NetworkPkg/IScsiDxe/IScsiProto.c +++ b/NetworkPkg/IScsiDxe/IScsiProto.c @@ -1291,7 +1291,7 @@ ON_EXIT: /** - Check and get the result of the prameter negotiation. + Check and get the result of the parameter negotiation. @param[in, out] Conn The connection in iSCSI login. @@ -1539,6 +1539,12 @@ IScsiCheckOpParams ( IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_PDU_IN_ORDER); IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_DATA_SEQUENCE_IN_ORDER); + // + // Remove irrelevant parameter, if any. + // + if (Session->InitialR2T && !Session->ImmediateData) { + IScsiGetValueByKeyFromList (KeyValueList, ISCSI_KEY_FIRST_BURST_LENGTH); + } if (IsListEmpty (KeyValueList)) { // @@ -1558,7 +1564,7 @@ ON_ERROR: /** - Fill the oprational parameters. + Fill the operational parameters. @param[in] Conn The connection in iSCSI login. @param[in, out] Pdu The iSCSI login request PDU to fill the parameters. diff --git a/NetworkPkg/IScsiDxe/IScsiProto.h b/NetworkPkg/IScsiDxe/IScsiProto.h index 80c62b765c..d97fa083e2 100644 --- a/NetworkPkg/IScsiDxe/IScsiProto.h +++ b/NetworkPkg/IScsiDxe/IScsiProto.h @@ -1,7 +1,7 @@ /** @file The header file of iSCSI Protocol that defines many specific data structures. -Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.
+Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -866,7 +866,7 @@ IScsiReceivePdu ( ); /** - Check and get the result of the prameter negotiation. + Check and get the result of the parameter negotiation. @param[in, out] Conn The connection in iSCSI login. @@ -881,7 +881,7 @@ IScsiCheckOpParams ( ); /** - Fill the oprational prameters. + Fill the operational parameters. @param[in] Conn The connection in iSCSI login. @param[in, out] Pdu The iSCSI login request PDU to fill the parameters. -- cgit v1.2.3